Skip to main content

codePointAt()

语法

codePointAt(pos: number): number | undefined;

描述

返回一个 Unicode 编码点值的非负整数。

  • 此方法可以正确返回4字节字符的 Unicode 编码

  • 当参数的取值小于 0 或大于字符串长度时返回undefined,而上一节charCodeAt()返回NaN

  • 当传入一个非 Number 类型时,会先尝试被转换成数字。如果能转换成数字,则返回相应索引处的 Unicode 数值;否则返回索引为 0 处的 Unicode 数值(尽量不要这样做)

关于字符串长度说明 以字符串𠮷l为例,它的长度是3而非2, 因为“𠮷”是一个 4 字节字符。因此在使用codePointAt()方法时参数最大可以取到2而非1.

示例

const str = "𠮷l";

str.codePointAt(0); // 134071
str.codePointAt(1); // 57271
str.codePointAt(2); // 108
str.codePointAt(-1); // undefined