跳到主要内容

JavaScript 字符串 codePointAt() 方法

codePointAt() 方法返回一个整数,表示字符串中字符的 Unicode 码点值。

示例

let message = "Happy Birthday";

// 索引 1 处字符的 Unicode 码点
let codePoint1 = message.codePointAt(1);

console.log("Unicode 码点值 'a' 是 " + codePoint1);

// 输出
// Unicode 码点值 'a' 是 97

codePointAt() 语法

codePointAt() 方法的语法是:

str.codePointAt(pos);

这里,str 是一个字符串。

codePointAt() 参数

codePointAt() 方法接受单个参数:

  • pos - str 中元素的索引值

codePointAt() 返回值

codePointAt() 方法返回:

  • 表示给定 pos 处字符的 Unicode 码点值的数字
  • 如果在 pos 处没有找到元素,则返回 undefined

示例 1:使用 codePointAt() 方法

let fruit = "Apple";

// 字符 A 的 Unicode 码点
let codePoint = fruit.codePointAt(0);

console.log("Unicode 码点值 'A' 是 " + codePoint);

输出

Unicode 码点值 'A'65

在上述示例中,我们使用 codePointAt() 方法查找字符 'A' 的 Unicode 码点。

'A' 是字符串的第一个元素,由于字符串的索引从 0 开始,我们向方法传递了参数 0。代码 fruit.codePointAt(0) 返回 'A' 的 Unicode 码点,即 65

注意: Unicode 码点是国际标准定义的每个字符的数值。例如,字母 A 的 Unicode 值是 65,B 是 66,C 是 67,等等。

示例 2:codePointAt() 使用默认参数

let message = "Happy Birthday";

// 在 codePointAt() 中不传递参数
let codePoint = message.codePointAt();

console.log(codePoint);

// 传递 0 作为参数
let codePoint0 = message.codePointAt(0);

console.log(codePoint0);

输出

72;
72;

在上述示例中,由于我们没有在 charPointAt() 中传递任何参数,所以默认值将为 0

因此,该方法返回索引 0 处字符的 Unicode 码点,即 72

示例 3:codePointAt() 使用超出范围的索引值

let message = "Happy Birthday";

// 获取索引 53 处字符的 Unicode 码点
let codePoint53 = message.codePointAt(53);

console.log(codePoint53);

输出

undefined;

在上述示例中,我们使用 codePointAt() 方法访问索引 53 处字符的 Unicode 码点。

然而,字符串 "Happy Birthday" 在索引 53 处没有任何字符。因此,message.codePointAt(53) 返回 undefined

推荐阅读: JavaScript String fromCodePoint()