Avant cela, nous utilisions le double signe égal "==" ou le triple signe égal "===" pour comparer les valeurs. Le troisième signe égal est plus strict Tant que les types des deux parties sont différents, false sera renvoyé immédiatement.
De plus, il y a et il n'y a qu'une seule valeur qui n'est pas égale à elle-même, c'est NaN
Maintenant, ES6 ajoute un autre Object.is, rendant le monde des opérations de comparaison encore plus déroutant. Dans la plupart des cas, Object.is équivaut à "===", comme suit
1 === 1 // true Object.is(1, 1) // true 'a' === 'a' // true Object.is('a', 'a') // true true === true // true Object.is(true, true) // true null === null // true Object.is(null, null) // true undefined === undefined // true Object.is(undefined, undefined) // true
Mais pour NaN, 0, 0, -0, c'est différent de « === »
NaN === NaN // false Object.is(NaN, NaN) // true 0 === -0 // true Object.is(0, -0) // false -0 === +0 // true Object.is(-0, +0) // false
Ce qui précède représente l’intégralité du contenu de cet article, j’espère que vous l’aimerez tous.