Ce face String.prototype.charCodeAt / codePointAt
Fiecare caracter are un cod numeric în standardul Unicode: „A” este 65, „a” este 97, „ș” este 537. charCodeAt returnează codul unității de pe poziția dată (un număr între 0 și 65535).
Caracterele mai rare, cum sunt emoji-urile, ocupă două unități (o pereche surogat). Pentru ele, charCodeAt dă doar prima jumătate, iar codePointAt dă codul complet al caracterului.
Dacă poziția nu există, charCodeAt returnează NaN, iar codePointAt returnează undefined.
Parametri
| Parametru | Descriere |
|---|---|
indice |
Poziția caracterului. Implicit 0. |
Ce returnează
Un număr (codul caracterului).
Exemple
Exemplul 1: Codurile unor litere
console.log("A".charCodeAt(0));
console.log("a".charCodeAt(0));
console.log("ș".charCodeAt(0));
console.log("abc".charCodeAt(5));
Rezultat
65
97
537
NaN
Exemplul 2: Emoji: charCodeAt față de codePointAt
const inima = "❤️";
const racheta = "🚀";
console.log(racheta.length);
console.log(racheta.charCodeAt(0));
console.log(racheta.codePointAt(0));
console.log(racheta.codePointAt(0).toString(16));
console.log(inima.codePointAt(0));
Rezultat
2
55357
128640
1f680
10084
Greșeli frecvente
- Folosești
charCodeAtpe emoji și primești un număr între 55296 și 56319 (jumătatea unei perechi surogat). FoloseștecodePointAt.
Comenzi înrudite
String.fromCharCode / fromCodePoint: Construiește un text din codurile numerice Unicode ale caracterelor.String.prototype.charAt: Returnează caracterul de la poziția dată sau un text gol dacă poziția nu există.String.prototype.normalize: Aduce textul la o formă Unicode standard; util pentru comparații și eliminarea diacriticelor.