ExpertiDict

JavaScript · Avançado · Inglês · Técnico

Object.is

/ˈɑbdʒɛkt ɪz/substantivo

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));    // false

Exemplos

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

Veja também

Todos os termos de JavaScript