If I want to print a unicode Chinese character in ES6/ES2015 javascript, I can do this:
console.log(`\u{4eb0}`);
Likewise, if I want to interpolate a variable into a template string literal, I can do this:
let x = "48b0";
console.log(`The character code is ${ x.toUpperCase() }.`);
However, it seems that I can't combine the two to print a list of, for example, 40 consecutive unicode Chinese characters. This doesn't work:
for (let i = 0, firstCharCode = parseInt("4eb0", 16); i < 40; ++i) {
let hexCharCode = (firstCharCode + i).toString(16);
console.log(`\u{${ hexCharCode }}`); // generates SyntaxError
}
So I'm asking if there's any way it's possible.
\u
in a real literal. So "\uD834\uDF06" becomesString.fromCodePoint(0xD834, 0xDF06)
but unlike literals you don't have to sinceString.fromCodePoint(0x1D306)
would also work where"\u1D306"
obviously doesn't. – Inactivate