Ce face Object.is
Object.is spune dacă două valori sunt „aceeași valoare”. Se comportă ca ===, cu excepția a două cazuri speciale: Object.is(NaN, NaN) este true, iar Object.is(0, -0) este false.
Obiectele sunt comparate după identitate: două obiecte cu același conținut sunt diferite. Este algoritmul folosit de React pentru a decide dacă starea s-a schimbat.
Parametri
| Parametru | Descriere |
|---|---|
valoare1, valoare2 |
Valorile comparate. |
Ce returnează
true sau false.
Exemple
Exemplul 1: Object.is față de ===
console.log(NaN === NaN, Object.is(NaN, NaN));
console.log(0 === -0, Object.is(0, -0));
console.log("a" === "a", Object.is("a", "a"));
console.log(Object.is({}, {}));
Rezultat
false true
true false
true true
false
Greșeli frecvente
- Folosești
Object.ispentru a compara conținutul a două obiecte. Compară doar identitatea; pentru conținut, compară proprietățile sauJSON.stringify.
Comenzi înrudite
Number.isNaN / isNaN: Verifică dacă o valoare este NaN („nu este un număr”), rezultatul unui calcul sau al unei conversii eșuate.if / else: Rulează un bloc de cod doar dacă o condiție este adevărată.typeof: Returnează tipul unei valori ca text: „string”, „number”, „boolean”, „object” etc.