Kesetaraan Berdasarkan Nilai dan Tipe dalam JavaScript
Misalkan Anda ingin membandingkan sedemikian rupa sehingga angka dalam tanda kutip tidak sama dengan angka yang sama tanpa tanda kutip. Dengan kata lain, Anda ingin membandingkan sedemikian rupa sehingga perbandingannya tidak hanya berdasarkan nilai, tetapi juga berdasarkan tipe data.
Untuk ini, alih-alih operator ==, sebaiknya
gunakan operator ===. Pada contoh berikutnya,
saat membandingkan string '3' dan
angka 3, kondisinya akan salah,
karena variabel, meskipun sama nilainya,
tapi tidak sama tipenya:
if ('3' === 3) {
console.log('+++');
} else {
console.log('---'); // ini yang akan dieksekusi
}
Namun saat membandingkan dua string '3'
kondisinya akan benar:
if ('3' === '3') {
console.log('+++'); // ini yang akan dieksekusi
} else {
console.log('---');
}
Sama halnya dengan membandingkan angka:
if (3 === 3) {
console.log('+++'); // ini yang akan dieksekusi
} else {
console.log('---');
}
Perbedaan antara operator == dan operator
=== muncul tepat ketika
nilainya sama, tetapi tipe datanya berbeda.
Dalam kasus lainnya, operator ini bekerja
dengan cara yang sama. Misalnya, saat membandingkan angka
yang berbeda, tentu saja akan mengeluarkan '---':
if (2 === 3) {
console.log('+++');
} else {
console.log('---'); // ini yang akan dieksekusi
}
Tanpa menjalankan kode, tentukan apa yang akan dicetak ke konsol:
let test1 = '3';
let test2 = '3';
if (test1 == test2) {
console.log('+++');
} else {
console.log('---');
}
Tanpa menjalankan kode, tentukan apa yang akan dicetak ke konsol:
let test1 = '3';
let test2 = '3';
if (test1 === test2) {
console.log('+++');
} else {
console.log('---');
}
Tanpa menjalankan kode, tentukan apa yang akan dicetak ke konsol:
let test1 = 3;
let test2 = '3';
if (test1 == test2) {
console.log('+++');
} else {
console.log('---');
}
Tanpa menjalankan kode, tentukan apa yang akan dicetak ke konsol:
let test1 = 3;
let test2 = '3';
if (test1 === test2) {
console.log('+++');
} else {
console.log('---');
}
Tanpa menjalankan kode, tentukan apa yang akan dicetak ke konsol:
let test1 = 3;
let test2 = 3;
if (test1 === test2) {
console.log('+++');
} else {
console.log('---');
}