Dalam tutorial ini, kita akan belajar tentang objek JavaScript Boolean dan perbedaan antara objek Boolean dan tipe data primitif boolean.
Tipe data primitif boolean JavaScript
JavaScript menyediakan tipe data primitif boolean yang memiliki dua nilai true dan false. Contoh berikut mendeklarasikan dua variabel yang menyimpan nilai boolean false dan true :
let tertunda = false; let selesai = true;
Saat Anda menerapkan operator typeof ke variabel yang menyimpan nilai boolean primitif, Anda mendapatkan boolean sebagai contoh berikut :
console.log(typeof(tertunda)); // boolean console.log(typeof(selesai)); // boolean
Objek JavaScript Boolean
Selain tipe data primitif boolean, JavaScript juga menyediakan fungsi global Boolean() , dengan huruf B dalam huruf besar, untuk memasukkan nilai tipe lain ke boolean.
Contoh berikut menunjukkan cara menggunakan fungsi Boolean() untuk mengonversi string menjadi nilai boolean. Karena string tidak kosong, ia mengembalikan nilai true.
let a = Boolean('Hai'); console.log(a); // true console.log(typeof(a)); // boolean
Boolean juga merupakan objek pembungkus dari tipe data primitif boolean. Ini berarti bahwa ketika Anda meneruskan true atau false ke konstruktor Boolean, itu akan membuat objek Boolean. Sebagai contoh :
let b = new Boolean (false);
Untuk mendapatkan kembali nilai primitif, Anda memanggil metode valueOf() dari objek Boolean sebagai berikut:
console.log(b.valueOf()); // false
Namun, jika Anda memanggil metode toString() dari objek Boolean, Anda mendapatkan nilai string “true” atau “false”. Sebagai contoh :
console.log(b.toString()); // "false"
JavaScript boolean vs Boolean
Perhatikan contoh ini:
let finish = true; let active = new Boolean(false);
Perhatikan, variabel active adalah sebuah objek sehingga Anda dapat menambahkan properti ke dalamnya:
active.primitiveValue = active.valueOf(); console.log(active.primitiveValue); // false
Namun, Anda tidak dapat melakukannya dengan variabel Boolean data primitif seperti variabel finish :
finish.name = 'primitif'; console.log(finish.name); // undefined
Kedua, typeof dari objek Boolean mengembalikan nilai object, sedangkan typeof dari nilai boolean primitif mengembalikan nilai boolean.
console.log(typeof finish); // boolean console.log(typeof active); // object
Ketiga, saat menerapkan operator instanceof ke objek Boolean, ia mengembalikan nilai true. Namun, mengembalikan false jika Anda menerapkan operator instanceof ke nilai boolean.
console.log(finish instanceof Boolean); // false console.log(active instanceof Boolean); // true
Sebaiknya jangan pernah menggunakan objek Boolean karena akan menimbulkan banyak kebingungan, terutama saat digunakan dalam ekspresi. Sebagai contoh :
let falseObj = new Boolean(false); if (falseObj) { console.log('bagian aneh dari objek Boolean'); }
Cara kerja skrip.
- Pertama, buat falseObj sebagai pembungkus objek Boolean dengan nilai false.
- Kedua, gunakan falseObj dalam pernyataan if. Karena falseObj adalah objek, dan JavaScript memaksanya menjadi nilai boolean true. Akibatnya, pernyataan di dalam blok if dijalankan.
Tabel berikut meringkas perbedaan antara JavaScript Boolean dan boolean:
Sangat direkomendasikan agar Anda menggunakan fungsi Boolean() untuk mengonversi nilai dari tipe yang berbeda ke tipe Boolean, tetapi Anda tidak boleh menggunakan Boolean sebagai objek pembungkus dari nilai boolean primitif.
Dalam tutorial ini, Anda telah mempelajari tentang objek JavaScript Boolean dan perbedaan antara objek Boolean dan tipe data primitif boolean.
0 Komentar