Zuvor haben wir das doppelte Gleichheitszeichen „==“ oder das dreifache Gleichheitszeichen „==“ verwendet, um Werte zu vergleichen. Das dritte Gleichheitszeichen ist strenger, solange die Typen der beiden Parteien unterschiedlich sind. false wird sofort zurückgegeben.
Außerdem gibt und gibt es nur einen Wert, der nicht mit sich selbst gleich ist, nämlich NaN
Jetzt fügt ES6 ein weiteres Object.is hinzu, was die Welt der Vergleichsoperationen noch verwirrender macht. In den meisten Fällen entspricht Object.is wie folgt "===":
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
Aber für NaN, 0, 0, -0 unterscheidet es sich von „===“
NaN === NaN // false Object.is(NaN, NaN) // true 0 === -0 // true Object.is(0, -0) // false -0 === +0 // true Object.is(-0, +0) // false
Das Obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, er gefällt Ihnen allen.