「ざ」という文字は二つの見方があります。
ざ
さ + ゙
濁点や半濁点を分解しないか、するか。これが NFKC と NFKD のざっくりとした違いです。
NFKC 分解しない
NFKD 分解する
const c = 'ざ'.normalize('NFKC') const d = 'ざ'.normalize('NFKD') console.log(c) // ざ console.log(d) // ざ const cItems = c.split('') const dItems = d.split('') console.log(cItems) // ['ざ'] console.log(dItems) // ['さ', '゙']
㈱の正規化
正規化の例としてよく挙がる㈱は NFKC と NFKD で同じ結果となります。
const c = '㈱'.normalize('NFKC') const d = '㈱'.normalize('NFKD') const isEqual = c === d console.log(isEqual) // true const cItems = c.split('') const dItems = c.split('') console.log(cItems) // ['(', '株', ')'] console.log(dItems) // ['(', '株', ')']
㈱は NFKC と NFKD でカッコが分離され、半角カッコが独立しています。