5

如果我想在 ES6/ES2015 javascript 中打印一个 unicode 汉字,我可以这样做:

console.log(`\u{4eb0}`);

同样,如果我想将变量插入到模板字符串文字中,我可以这样做:

let x = "48b0";
console.log(`The character code is ${ x.toUpperCase() }.`);

但是,我似乎无法将两者结合起来打印一个列表,例如 40 个连续的 unicode 汉字。这不起作用:

for (let i = 0, firstCharCode = parseInt("4eb0", 16); i < 40; ++i) {
    let hexCharCode = (firstCharCode + i).toString(16);
    console.log(`\u{${ hexCharCode }}`); // generates SyntaxError
}

所以我问是否有任何可能的方法。

4

1 回答 1

7

您需要使用String.fromCodePoint(),它接受一个数字并返回一个字符。

你不能用文字来做,因为......好吧......它不再是文字了。文字不能作为过程的结果产生,它们需要写成文字。

于 2016-10-20T13:31:05.233 回答