Unicode 支援與轉義序列 - daniel-qa/Vue GitHub Wiki
傳統轉義 (\uXXXX) 的限制(僅支援 BMP 平面)。
ES6 Unicode 碼點轉義 (\u{...}):支援超過 0xFFFF 的字元(如異體字選取器、Emoji),提升可讀性。
用法
\u{...}
- 情境 1:你只是「用」
直接寫字串就好:
const text = "少\uDB40\uDD00" // VS17
或更直覺(推薦):
const text = "少\u{E0100}"
👉 ES6 之後一定用 \u{...},可讀性直接起飛
- 用 fromCodePoint
const VS_START = 0xE0100
function getIVS(index) {
return String.fromCodePoint(VS_START + index)
}
用法:
const text = "少" + getIVS(0) // VS17
⚠️ 不建議的做法
❌ 手動寫 surrogate pair(除非 debug)
"\uDB40\uDD00" // 可讀性差
👉 這種寫法:
難維護
容易寫錯
團隊看了會皺眉(真的)