Stringï¼length
åºçº¿
广æ³å¯ç¨
èª 2015å¹´7æ èµ·ï¼æ¤ç¹æ§å·²å¨ä¸»æµæµè§å¨ä¸å¾å°æ¯æï¼å¯å¨å¤§å¤æ°è®¾å¤åæµè§å¨çæ¬ä¸æ£å¸¸ä½¿ç¨ã
String ç±»åç length æ°æ®å±æ§è¡¨ç¤ºå符串ç UTF-16 ç å
é¿åº¦ã
å°è¯ä¸ä¸
const str = "Life, the universe and everything. Answer:";
console.log(`${str} ${str.length}`);
// Expected output: "Life, the universe and everything. Answer: 42"
å¼
ä¸ä¸ªéè´æ´æ°ã
Stringï¼length ç屿§ç¹æ§ | |
|---|---|
| å¯å | å¦ |
| 坿䏾 | å¦ |
| å¯é ç½® | å¦ |
æè¿°
è¯¥å±æ§è¿åå符串ä¸çç å
æ°éãJavaScript ä½¿ç¨ UTF-16 ç¼ç ï¼å
¶ä¸æ¯ä¸ª Unicode å符å¯ä»¥ç¼ç 为ä¸ä¸ªæä¸¤ä¸ªç å
ï¼å æ¤ length è¿åçå¼å¯è½ä¸åç¬¦ä¸²ä¸ Unicode å符çå®é
æ°éä¸å¹é
ãå¯¹äºæä¸æã西éå°æã伿å¨ç¥ç CJK å符ç常è§èæ¬ï¼è¿åºè¯¥ä¸æ¯é®é¢ï¼ä½å¦æä½ æ£å¨å¤çæäºèæ¬ï¼ä¾å¦è¡¨æ
符å·ãæ°å¦ç¬¦å·æçå»åï¼ä½ å¯è½éè¦èèç å
åå符ä¹é´çå·®å¼ã
è¯è¨è§èè¦æ±å符串çæå¤§é¿åº¦ä¸º 253 - 1 个å ç´ ï¼è¿æ¯ç²¾ç¡®æ´æ°çä¸éã使¯ï¼å ·ææ¤é¿åº¦çå符串éè¦ 16384TiB çåå¨ç©ºé´ï¼è¿è¿è¿è¶ åºäºä»»ä½åç设å¤çå åéå¶ï¼å æ¤å®ç°é常ä¼éä½è¿ä¸ªéå¼ï¼ä»èå 许å符串çé¿åº¦æ¹ä¾¿å°åå¨å¨ä¸ä¸ª 32 使´æ°ä¸ã
- å¨ V8 弿ï¼Chrome å Node 使ç¨ï¼ä¸ï¼æå¤§é¿åº¦ä¸º 229 - 24ï¼çº¦ä¸º 1GiBï¼ãå¨ 32 ä½ç³»ç»ä¸ï¼æå¤§é¿åº¦ä¸º 228 - 16ï¼çº¦ä¸º 512MiBï¼ã
- å¨ Firefox ä¸ï¼æå¤§é¿åº¦ä¸º 230 - 2ï¼çº¦ä¸º 2GiBï¼ãå¨ Firefox 65 ä¹åï¼æå¤§é¿åº¦ä¸º 228 - 1ï¼çº¦ä¸º 512MiBï¼ã
- å¨ Safari ä¸ï¼æå¤§é¿åº¦ä¸º 231 - 1ï¼çº¦ä¸º 4GiBï¼ã
对äºç©ºå符串ï¼length 为 0ã
éæå±æ§ String.length ä¸å符串çé¿åº¦æ å
³ã宿¯ String 彿°çåæ°æ°éï¼ç®åå°è¯´ï¼å°±æ¯å®æå¤å°ä¸ªå½¢åï¼ï¼ä¹å°±æ¯ 1ã
ç±äº length ç»è®¡çæ¯ç å
è䏿¯å符ï¼å¦æä½ æ³å¾å°åç¬¦çæ°éï¼ä½ å¯ä»¥é¦å
ç¨å®çè¿ä»£å¨åå²å符串ï¼å®æå符è¿è¡è¿ä»£ï¼
function getCharacterLength(str) {
// è¿é使ç¨çå符串è¿ä»£å¨éåçæ¯å符ï¼èä¸ä»
ä»
æ¯ç å
return [...str].length;
}
console.log(getCharacterLength("A\uD87E\uDC04Z")); // 3
示ä¾
>åºæ¬ç¨æ³
const x = "Mozilla";
const empty = "";
console.log(`${x} æ ${x.length} 个ç å
`);
// Mozilla æ 7 个ç å
console.log(`空å符串ç length 为 ${empty.length}`);
// 空å符串ç length 为 0
é¿åº¦ä¸çäºå符æ°çå符串
const emoji = "ð";
console.log(emoji.length); // 2
console.log([...emoji].length); // 1
const adlam = "ð¤²ð¥ð¤£ð¤«";
console.log(adlam.length); // 8
console.log([...adlam].length); // 4
const formula = "âð¥ââ,ð¥Â²â¥0";
console.log(formula.length); // 11
console.log([...formula].length); // 9
æå®é¿åº¦
å 为å符串æ¯ä¸ä¸ªåºæ¬ç±»åï¼æä»¥å°è¯ä¸ºå符串ç length 屿§èµå¼æ²¡æå¯è§å¯å°çææï¼å¹¶ä¸å¨ä¸¥æ ¼æ¨¡å¼ä¸ä¼æåºé误ã
const myString = "bluebells";
myString.length = 4;
console.log(myString); // "bluebells"
console.log(myString.length); // 9
è§è
| è§è |
|---|
| ECMAScript® 2027 Language Specification> # sec-properties-of-string-instances-length> |