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"  // 可讀性差

👉 這種寫法:

難維護

容易寫錯

團隊看了會皺眉(真的)