Example 1 — Fix Equality with NFC
Two spellings of Amélie look the same but fail === until normalized.
const name1 = "\u0041\u006d\u00e9\u006c\u0069\u0065"; // Amélie (composed)
const name2 = "\u0041\u006d\u0065\u0301\u006c\u0069\u0065"; // Amélie (e + accent)
console.log(name1 === name2); // false
console.log(name1.normalize("NFC") === name2.normalize("NFC")); // true How It Works
- Build two lookalikes.
name1uses a precomposedé;name2useseplus a combining accent. - Raw compare fails. Different code points →
===isfalse. - Normalize both to NFC. Each becomes the same composed sequence.
- Compare again. Now
===istrue— safe for keys and checks.

