Skip to main content

charCodeAt()

语法

charCodeAt(index: number): number;

描述

返回指定索引处的 Unicode 数值。

  • index 为[0, length - 1]的整数,若在此范围外返回NaN

  • 当不传入参数时返回索引为0处的 Unicode 数值

  • charCodeAt() 总是返回一个小于 65,536 的值,因此不能正确处理4字节字符,这种情况下请使用codePointAt()

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

示例

const twoBytesStr = 'yancey';

const fourBytesStr = '𝌆';

twoBytesStr.charCodeAt(0); // 121
twoBytesStr.charCodeAt(100); // NaN
twoBytesStr.charCodeAt(-1); // NaN
twoBytesStr.charCodeAt(); // 121

// 这是一个错误的Unicode编码,请使用 codePointAt()
fourBytesStr.charCodeAt(0); // 55348

// false被转换成0,因此拿到索引为0处的Unicode编码
twoBytesStr.charCodeAt(false); // 121

// 当无法被转换为数值时,返回索引为0处的Unicode编码
twoBytesStr.charCodeAt({}); // 121