Perbandingan Nilai dengan Jenis Boolean dalam JavaScript
Dalam contoh sebelumnya, kami menggunakan untuk perbandingan
operator ===. Dalam kes ini, pembolehubah kami
dibandingkan untuk kesamaan true
baik dari segi nilai dan jenis.
Untuk perbandingan sedemikian, seseorang juga boleh menggunakan
operator ==. Jika dalam pembolehubah test
selalu akan menjadi salah satu nilai true
atau false, maka tiada apa yang akan berubah:
let test = true; // di sini kita tulis sama ada true, atau false
if (test == true) {
console.log('+++');
} else {
console.log('---');
}
Tetapi jika ke dalam pembolehubah test boleh
masuk sebarang nilai, maka semuanya menjadi
jauh lebih rumit.
Dalam kes sedemikian, jika dalam pembolehubah test
bukan nilai boolean, maka nilai ini
pertama akan ditukar kepada boolean dan hanya
kemudian akan dibandingkan.
Katakan, sebagai contoh, dalam pembolehubah test
akan menjadi nombor 1. Dalam kes ini, ia pertama
akan ditukar kepada jenis boolean, iaitu
kepada true. Dan kemudian perbandingan akan dilakukan:
let test = 1;
if (test == true) {
console.log('+++'); // ini akan terhasil
} else {
console.log('---');
}
Tetapi, sebagai contoh, nombor 0 ditukar
kepada false. Dan keadaan kami hasilnya
akan mengeluarkan 'tidak betul':
let test = 0;
if (test == true) {
console.log('+++');
} else {
console.log('---'); // ini akan terhasil
}
Secara praktikal, perbandingan sedemikian boleh secara jelas ditulis semula dalam bentuk berikut:
let test = 1;
if (Boolean(test) == true) {
console.log('+++');
} else {
console.log('---');
}
Ingat dan tulis, nilai-nilai mana apabila
ditukar kepada jenis boolean memberikan
false.
Tanpa menjalankan kod, tentukan apa yang akan dipaparkan dalam konsol:
let test = 1;
if (test == true) {
console.log('+++');
} else {
console.log('---');
}
Tanpa menjalankan kod, tentukan apa yang akan dipaparkan dalam konsol:
let test = 0;
if (test == true) {
console.log('+++');
} else {
console.log('---');
}
Tanpa menjalankan kod, tentukan apa yang akan dipaparkan dalam konsol:
let test = 1;
if (test == false) {
console.log('+++');
} else {
console.log('---');
}
Tanpa menjalankan kod, tentukan apa yang akan dipaparkan dalam konsol:
let test = 1;
if (test != true) {
console.log('+++');
} else {
console.log('---');
}
Tanpa menjalankan kod, tentukan apa yang akan dipaparkan dalam konsol:
let test = '';
if (test == false) {
console.log('+++');
} else {
console.log('---');
}
Tanpa menjalankan kod, tentukan apa yang akan dipaparkan dalam konsol:
let test;
if (test == true) {
console.log('+++');
} else {
console.log('---');
}
Tanpa menjalankan kod, tentukan apa yang akan dipaparkan dalam konsol:
let test = 3 * 'a';
if (test == true) {
console.log('+++');
} else {
console.log('---');
}