📅  最后修改于: 2023-12-03 15:01:48.498000             🧑  作者: Mango
codePointAt()
方法codePointAt()
是 JavaScript 字符串对象的一个方法,用于获取指定位置的 Unicode 码点值。
str.codePointAt(pos)
其中,
str
:表示要获取 Unicode 码点值的字符串。pos
:表示要获取 Unicode 码点值的位置。如果该参数不是整数,则自动向下取整。返回值:
该方法返回在指定位置的 Unicode 码点值。
以下展示一个简单的例子:
let str = 'abc\uD83D\uDE03defg';
console.log(str.codePointAt(0)); // 97
console.log(str.codePointAt(1)); // 98
console.log(str.codePointAt(2)); // 99
console.log(str.codePointAt(3)); // 128515
在上面的例子中,我们将一个字符串赋值给变量 str
。该字符串包含了 Unicode 码点值超过 U+FFFF 的一个字符。
接着,我们分别将 str
的位置 0、1、2、3 传递给 codePointAt()
方法,获取它们的 Unicode 码点值。
从输出结果可以看出,codePointAt()
方法获取到了该字符串在指定位置处的 Unicode 码点值。
codePointAt()
方法对于 ASCII 码点值和超过 U+FFFF 的 UNICODE 码点值都有效。if (!String.prototype.codePointAt) {
String.prototype.codePointAt = function(pos) {
return this.charCodeAt(pos) + (this.charCodeAt(pos + 1) << 16);
};
}
charCodeAt()
方法,因为这些字符的码点值就等于它们的 UTF-16 编码值。