返回顶部
本页目录

length

只读属性包含字符串的长度(以 UTF-16 代码单元表示)

示例

基本用法

let zh = "中国"; console.log(zh.length); // 2 let uni = "\u4e2d\u56fd"; console.log(uni.length); // 2 let title = "KiloBytes"; console.log(title.length); // 9 let site = "9991024.com" console.log(site.length); // 11 let empty = "" console.log(empty.length) // 0

长度不等于字符数的字符串

let emoji = "👩‍👩‍👦‍👦"; console.log(emoji.length); // 11 let katex = "𝑥²≥0" console.log(katex.length); // 5 let zh = "𠮷" console.log(zh.length); // 2 let str = "A\uD87E\uDC04Z" console.log(str.length); // 4

使用ES6新增的扩展运算符(…)

function getStringLength(str) { // 使用的字符串迭代器对字符进行迭代 return [...str].length; } let emoji = "👩‍👩‍👦‍👦"; console.log(getStringLength(emoji)); // 7 let katex = "𝑥²≥0" console.log(getStringLength(katex)); // 4 let zh = "𠮷" console.log(getStringLength(zh)); // 1 let str = "A\uD87E\uDC04Z" console.log(getStringLength(str)); // 3

指定长度

let str = "KiloBytes"; str.length = 1; console.log(str,str.length); // "KiloBytes" 9

语法

                            
  • string.length

描述

该属性返回字符串中的代码单元数量。JavaScript 使用 UTF-16 编码,其中每个 Unicode 字符可以编码为一个或两个代码单元,因此 length 返回的值可能与字符串中 Unicode 字符的实际数量不匹配。对于拉丁文、西里尔文、众所周知的 CJK 字符等常见脚本,这应该不是问题,但如果你正在使用某些脚本,例如表情符号、数学符号或晦涩的汉字,你可能需要考虑代码单元和字符之间的差异。

语言规范要求字符串的最大长度为 253 - 1 个元素,这是精确整数的上限。 但是,具有此长度的字符串需要 16384TB 的存储空间,这在任何合理的设备内存中都容纳不了,因此实现倾向于降低阈值,从而允许字符串的长度方便地存储在 32 位整数中.

对于空字符串,length 为0

静态属性 String.length 与字符串的长度无关。它是 String 函数的参数数量(简单地说,就是它有多少个形参),即 1