Sebelum ini, kami menggunakan tanda sama berganda "==" atau tanda sama tiga "===" untuk membandingkan nilai Tanda sama yang ketiga adalah lebih ketat asalkan jenis kedua-dua pihak berbeza. palsu akan dikembalikan serta-merta.
Selain itu, terdapat dan hanya satu nilai yang tidak sama dengan dirinya sendiri, ia adalah NaN
Kini ES6 menambah satu lagi Object.is, menjadikan dunia operasi perbandingan lebih mengelirukan. Dalam kebanyakan kes, Object.is adalah bersamaan dengan "===", seperti berikut
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
Tetapi untuk NaN, 0, 0, -0, ia berbeza daripada “===”
NaN === NaN // false Object.is(NaN, NaN) // true 0 === -0 // true Object.is(0, -0) // false -0 === +0 // true Object.is(-0, +0) // false
Di atas adalah keseluruhan kandungan artikel ini, saya harap anda semua menyukainya.