Boolean pada JavaScript

Pada tutorial ini, Anda akan mempelajari tentang objek Boolean pada JavaScript dan perbedaan antara objek Boolean dan tipe primitif boolean.

Tipe primitif boolean pada JavaScript

JavaScript menyediakan tipe primitif boolean yang memiliki dua nilai, yaitu true dan false. Contoh berikut mendeklarasikan dua variabel yang menyimpan nilai boolean false dan true:

let isPending = false;
let isDone = true;

Ketika Anda menggunakan operator typeof pada variabel yang menyimpan nilai boolean primitif, Anda mendapatkan hasil boolean seperti contoh berikut:

console.log(typeof(isPending)); // boolean
console.log(typeof(isDone)); // boolean

Objek Boolean pada JavaScript

Selain tipe primitif boolean, JavaScript juga menyediakan fungsi global Boolean() dengan huruf B besar, untuk mengubah nilai dari tipe lain menjadi boolean.

Contoh berikut menunjukkan cara menggunakan fungsi Boolean() untuk mengonversi string menjadi nilai boolean. Karena string tersebut tidak kosong, fungsi ini mengembalikan true.

let a = Boolean('Hi');
console.log(a); // true
console.log(typeof(a)); // boolean

Objek Boolean juga merupakan objek pembungkus dari tipe boolean primitif. Artinya, ketika Anda meneruskan true atau false ke konstruktor Boolean, itu akan membuat objek Boolean. Contohnya:

let b = new Boolean(false);

Untuk mendapatkan nilai primitif kembali, Anda dapat menggunakan metode valueOf() objek Boolean sebagai berikut:

console.log(b.valueOf()); // false

Namun, jika Anda menggunakan metode toString() dari objek Boolean, Anda akan mendapatkan nilai string “true” atau “false”. Sebagai contoh:

console.log(b.toString()); // "false"

boolean vs. Boolean pada JavaScript

Perhatikan contoh berikut:

let completed = true;
let active = new Boolean(false);

Pertama, active adalah objek sehingga Anda dapat menambahkan properti kepadanya:

active.primitiveValue = active.valueOf();
console.log(active.primitiveValue); // false

Namun, Anda tidak dapat melakukannya dengan variabel boolean primitif seperti variabel completed:

completed.name = 'primitive';
console.log(completed.name); // undefined

Kedua, typeof dari objek Boolean mengembalikan object, sementara typeof dari nilai boolean primitif mengembalikan boolean.

console.log(typeof completed); // boolean
console.log(typeof active); // object

Ketiga, ketika menggunakan operator instanceof pada objek Boolean, itu mengembalikan true. Namun, itu mengembalikan false jika Anda menggunakan operator instanceof pada nilai boolean.

console.log(completed instanceof Boolean); // false
console.log(active instanceof Boolean); // true

Disarankan untuk tidak menggunakan objek Boolean karena dapat menyebabkan kebingungan, terutama ketika digunakan dalam ekspresi. Sebagai contoh:

let falseObj = new Boolean(false);
if (falseObj) {
    console.log('weird part of the Boolean object');
}

Bagaimana skrip ini berfungsi

  1. Pertama, buat falseObj sebagai objek Boolean pembungkus untuk nilai false.
  2. Kedua, gunakan falseObj dalam pernyataan if. Karena falseObj adalah objek, dan mesin JavaScript memaksa nilai boolean-nya menjadi true, maka pernyataan di dalam blok if dieksekusi.

Tabel berikut merangkum perbedaan antara JavaScript boolean dan Boolean:

OperatorbooleanBoolean
typeofbooleanobject
instanceof Booleanfalsetrue

Disarankan untuk menggunakan fungsi Boolean() untuk mengonversi nilai dari tipe yang berbeda menjadi tipe Boolean, tetapi sebaiknya jangan menggunakan Boolean sebagai objek pembungkus untuk nilai boolean primitif.

Dalam tutorial ini, Anda telah mempelajari tentang objek Boolean pada JavaScript dan perbedaannya dengan tipe primitif boolean.

Share jika bermanfaat:
Abdan Zam Zam Ramadhan
Abdan Zam Zam Ramadhan

Seorang penggiat teknologi yang menfokuskan diri pada pengembangan aplikasi (web & android), DevOps, Data Tech, Natural Language Processing (NLP) dan ChatBot berbasis NLP. Sedang mendalami di Node.js dan ekosistemnya. Aktif sebagai konstributor library JS (open source) di NPM. Menulis berbagai artikel tips dan tutorial pemrograman di LampungDev.com.

Articles: 32