JavaScript · Avançado · Inglês · Técnico
Object.is
Função que compara dois valores pela regra SameValue: parecida com ===, mas trata NaN como igual a NaN e distingue +0 de -0.
Onde usar
Usada por bibliotecas como o React para comparar dependências e estado. Em código de aplicação aparece pouco, mas explica por que NaN não dispara um novo render em loop.
Em código
console.log(NaN === NaN); // false
console.log(Object.is(NaN, NaN)); // true
console.log(0 === -0); // true
console.log(Object.is(0, -0)); // falseExemplos
Object.is treats NaN as equal to itself.
Object.is trata NaN como igual a si mesmo.
React compares state with Object.is.
O React compara o estado com Object.is.
Cuidado
Usar Object.is no lugar de === no dia a dia: os dois só diferem em NaN e nos zeros com sinal.
Sinônimos
SameValue