📜  JavaScript字符串.codePointAt() 方法(1)

📅  最后修改于: 2023-12-03 15:01:48.498000             🧑  作者: Mango

JavaScript 字符串 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);
  };
}
  • 在获取 U+FFFF 之前的字符的 Unicode 码点值时,可以使用 charCodeAt() 方法,因为这些字符的码点值就等于它们的 UTF-16 编码值。
参考文献