JavaScript String.fromCharCode() 方法

JavaScript String.fromCharCode() 语法

String.fromCharCode() 是 JavaScript String 对象的一个静态方法,它用于将一个或多个 Unicode 值转换为对应的字符串。

String.fromCharCode() 方法的主要作用是将 Unicode 编码转换为字符串,以便在 JavaScript 中使用。

语法:

String.fromCharCode(num1, num2, ..., num3)

说明:

String.fromCharCode() 方法接收 0 个、1 个或多个参数。num1、num2、...、num3 等都是 Unicode 值。

String.fromCharCode() 方法主要用于处理 Unicode 编码点小于等于 “0xFFFF” 的字符。对于大于 “0xFFFF” 编码点的字符,我们应该使用 String.fromCodePoint() 方法。

此外,对于字符的 Unicode 码点,我们可以使用 charCodeAt() 方法获取。

注意: String.fromCharCode() 方法是 String 对象的静态方法。也就是说,你需要直接通过 String.fromCharCode() 来调用,而不是通过字符串实例来调用。例如,"lvyenet".fromCharCode() 会报错。

JavaScript String.fromCharCode() 摘要

属于 JavaScript String 对象
使用频率 极低
官方文档 查看
MDN 查看

JavaScript String.fromCharCode() 示例

接下来,我们通过一个简单的示例来讲解一下 JavaScript String.fromCharCode() 方法是如何使用的。

示例 1:String.fromCharCode() 基本用法

const str1 = String.fromCharCode();
console.log(str1);            // (空字符串)

const str2 = String.fromCharCode(65, 66, 67);
console.log(str2);            // "ABC"

const str3 = String.fromCharCode(20013, 22269);
console.log(str3);             // "中国"

运行结果如下。

(空字符串)
ABC
中国

分析:

如果 String.fromCharCode() 不接收任何参数,则其返回值为一个空字符串。

String.fromCharCode() 与 String.fromCodePoint()

String.fromCharCode() 与 String.fromCodePoint() 这两个方法的作用是一样的,都是用于将 Unicode 值转换为字符串,不过它们还是有一定的区别。

  • String.fromCharCode():是 ES1 的方法,它只能转换不大于 “0xFFFF” 的 Unicode 值。
  • String.fromCodePoint():是 ES6 新推出的方法,它可以转换大于 “0xFFFF” 的 Unicode 值。

你可以将 String.fromCodePoint() 看成是 String.fromCharCode() 的 “增强版”,因此也只需要掌握 String.fromCodePoint() 即可。

示例 2:Unicode 值小于等于 “0xFFFF”

const str1 = String.fromCharCode(65, 66, 67);
console.log(str1);

const str2 = String.fromCodePoint(65, 66, 67);
console.log(str2);

运行结果如下。

ABC
ABC

分析:

对于小于等于 “0xFFFF” 的 Unicode 值,String.fromCharCode() 和 String.fromCodePoint() 都能正确识别。

示例 3:Unicode 值大于 0xFFFF

const str1 = String.fromCharCode(0x1f601);
console.log(str1);

const str2 = String.fromCodePoint(0x1f601);
console.log(str2);

运行结果如下。


😁

分析:

0x1f601 是一个表示笑脸的 Unicode 值,但是它已经大于 “0xFFFF” ,因此 String.fromCharCode() 无法识别它,String.fromCodePoint() 却可以正确识别。

上一篇: String.raw()

下一篇: String.fromCodePoint()

给站长反馈

绿叶网正在不断完善中,小伙伴们如果发现任何问题,还望多多给站长反馈,谢谢!

邮箱:lvyenet@vip.qq.com

「绿叶网」服务号
绿叶网服务号放大
关注服务号,微信也能看教程。
绿叶网服务号