Baseline Widely available
String
ç charAt()
æ¹æ³è¿åä¸ä¸ªç±ç»å®ç´¢å¼å¤çå个 UTF-16 ç å
ææçæ°å符串ã
charAt()
æ¹æ³æ»æ¯å°å符串ä½ä¸º UTF-16 ç å
åºåè¿è¡ç´¢å¼ï¼å æ¤å®å¯è½ä¼è¿åå¤é¡¹ä»£çãè¦è·åç»å®ç´¢å¼å¤ç宿´ Unicode ç ä½ï¼è¯·ä½¿ç¨ String.prototype.codePointAt()
å String.fromCodePoint()
ã
const sentence = "The quick brown fox jumps over the lazy dog.";
const index = 4;
console.log(`The character at index ${index} is ${sentence.charAt(index)}`);
// Expected output: "The character at index 4 is q"
è¯æ³ åæ°
index
è¦è¿åçå符çç´¢å¼ï¼ä»é¶å¼å§ãä¼è¢«è½¬æ¢ä¸ºæ´æ°ââundefined
ä¼è¢«è½¬æ¢ä¸º 0ã
è¿åä¸ä¸ªå符串ï¼è¯¥å符串表示æå® index
å¤çåç¬¦ï¼æ°å¥½æ¯ä¸ä¸ª UTF-16 ç å
ï¼ã妿 index
è¶
åºäº 0
â str.length - 1
çèå´ï¼charAt()
å°è¿åä¸ä¸ªç©ºå符串ã
å符串ä¸çå符ä»å·¦å°å³è¿è¡ç´¢å¼ã第ä¸ä¸ªå符çç´¢å¼ä¸º 0
ï¼åç¬¦ä¸²ä¸æåä¸ä¸ªå符çç´¢å¼ä¸º str.length - 1
ã
Unicode ç ä½çèå´ä» 0
å° 1114111
(0x10FFFF
)ãcharAt()
æ¹æ³æ»æ¯è¿åä¸ä¸ªå
¶å¼å°äº 65536
çå符ï¼å 为æ´é«çç 使¯ç±ä¸å¯¹ 16 ä½ä»£ç伪å符表示çãå æ¤ï¼ä¸ºäºè·åå¼å¤§äº 65535
ç宿´å符ï¼éè¦æ£ç´¢ä¸ä»
æ¯ charAt(i)
ï¼è¿è¦æ£ç´¢ charAt(i + 1)
ï¼å°±åæä½ä¸ä¸ªç±ä¸¤ä¸ªåç¬¦ç»æçåç¬¦ä¸²ä¸æ ·ï¼ï¼æè
ä½¿ç¨ codePointAt(i)
å String.fromCodePoint()
代æ¿ãæå
³ Unicode çä¿¡æ¯ï¼è¯·åé
UTF-16 å符ãUnicode ç ä½ååç´ ç°ã
charAt()
åä½¿ç¨æ¹æ¬å·è¡¨ç¤ºæ³è®¿é®æå®ç´¢å¼å¤çå符é常ç¸ä¼¼ãå®ä»¬ç主è¦åºå«å¨äºï¼
charAt()
å°è¯å° index
转æ¢ä¸ºæ´æ°ï¼èæ¹æ¬å·è¡¨ç¤ºæ³ä¸ä¼ï¼ç´æ¥ä½¿ç¨ index
ä½ä¸ºå±æ§åãindex
è¶
åºèå´ï¼charAt()
è¿åä¸ä¸ªç©ºå符串ï¼èæ¹æ¬å·è¡¨ç¤ºæ³è¿å undefined
ãä¸ä¾è¾åºå符串 "Brave new world"
ä¸åä½ç½®å¤çå符ï¼
const anyString = "Brave new world";
console.log(`å¨ç´¢å¼ 0 å¤çå符为 '${anyString.charAt()}'`);
// 没ææä¾ç´¢å¼ï¼ä½¿ç¨ 0 ä½ä¸ºé»è®¤å¼
console.log(`å¨ç´¢å¼ 0 å¤çå符为 '${anyString.charAt(0)}'`);
console.log(`å¨ç´¢å¼ 1 å¤çå符为 '${anyString.charAt(1)}'`);
console.log(`å¨ç´¢å¼ 2 å¤çå符为 '${anyString.charAt(2)}'`);
console.log(`å¨ç´¢å¼ 3 å¤çå符为 '${anyString.charAt(3)}'`);
console.log(`å¨ç´¢å¼ 4 å¤çå符为 '${anyString.charAt(4)}'`);
console.log(`å¨ç´¢å¼ 999 å¤çå符为 '${anyString.charAt(999)}'`);
ä¸é¢ä»£ç çè¾åºä¸ºï¼
å¨ç´¢å¼ 0 å¤çå符为 'B' å¨ç´¢å¼ 0 å¤çå符为 'B' å¨ç´¢å¼ 1 å¤çå符为 'r' å¨ç´¢å¼ 2 å¤çå符为 'a' å¨ç´¢å¼ 3 å¤çå符为 'v' å¨ç´¢å¼ 4 å¤çå符为 'e' å¨ç´¢å¼ 999 å¤çå符为 ''
charAt()
å¯è½ä¼è¿åå¤é¡¹ä»£çï¼è¿äºä»£ç项䏿¯ææç Unicode å符ã
const str = "ð ®·ð ®¾";
console.log(str.charAt(0)); // "\ud842"ï¼è¿ä¸æ¯ææç Unicode å符
console.log(str.charAt(1)); // "\udfb7"ï¼è¿ä¸æ¯ææç Unicode å符
è¦è·åç»å®ç´¢å¼å¤ç宿´ Unicode ç ä½ï¼è¯·ä½¿ç¨æ Unicode ç 使åçç´¢å¼æ¹æ³ï¼ä¾å¦ String.prototype.codePointAt()
åå°å符串å±å¼ä¸º Unicode ç 使°ç»ã
const str = "ð ®·ð ®¾";
console.log(String.fromCodePoint(str.codePointAt(0))); // "ð ®·"
console.log([...str][0]); // "ð ®·"
夿³¨ï¼ é¿å
ä½¿ç¨ charAt()
éæ°å®ç°ä¸è¿°è§£å³æ¹æ¡ãæ£æµå¤é¡¹ä»£çåå
¶é
对å¾å¤æï¼èå
ç½® API å¯è½æ´é«æï¼å 为å®ä»¬ç´æ¥ä½¿ç¨å符串çå
é¨è¡¨ç¤ºå½¢å¼ã妿å¿
è¦ï¼è¯·å®è£
ä¸è¿° API ç polyfillã
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4