dasartipe-dataprimitifPemula3 mnt baca

Tipe Data Primitif

Tujuh tipe data primitif JavaScript: string, number, boolean, undefined, null, symbol, dan bigint.

Apa itu tipe data primitif?

Tipe data primitif adalah jenis nilai paling dasar di JavaScript. Nilainya disimpan langsung, bukan sebagai referensi. Ada tujuh: string, number, boolean, undefined, null, symbol, dan bigint. Lima yang pertama akan kamu pakai setiap hari.

String, number, boolean

javascript
let nama = "Rizky";      // string: teks, pakai kutip
let umur = 17;           // number: angka (bulat maupun desimal)
let lulus = true;        // boolean: true atau false

String bisa memakai kutip tunggal, ganda, atau backtick. Number mencakup bilangan bulat dan desimal, tidak ada pemisahan int dan float seperti bahasa lain.

undefined vs null

Keduanya berarti "kosong", tapi beda makna:

javascript
let a;            // undefined: belum diberi nilai
let b = null;     // null: sengaja dikosongkan

Analoginya: undefined seperti gelas yang belum pernah diisi, sedangkan null seperti gelas yang sengaja dikosongkan. Perbedaan ini penting saat debugging.

symbol dan bigint

Symbol dipakai untuk membuat identifier unik, biasanya di library. Bigint untuk angka bulat yang sangat besar melebihi batas number biasa:

javascript
let id = Symbol("id");       // unik, tidak akan sama dengan symbol lain
let besar = 123456789012345678901234567890n; // n di akhir = bigint

Keduanya jarang dipakai di awal belajar, cukup tahu mereka ada.

Mengecek tipe dengan typeof

javascript
console.log(typeof "halo");      // "string"
console.log(typeof 42);          // "number"
console.log(typeof true);        // "boolean"
console.log(typeof undefined);   // "undefined"

Catatan teknis: typeof null menghasilkan "object". Ini bug legendaris sejak JavaScript pertama dibuat dan tidak pernah diperbaiki karena alasan kompatibilitas. Untuk mengecek null, pakai perbandingan langsung: nilai === null.

Konversi tipe otomatis

JavaScript kadang mengubah tipe data sendiri saat operasi, dan ini sumber kejutan:

javascript
console.log("5" + 3);   // "53", + menggabung jadi string
console.log("5" - 3);   // 2, - memaksa jadi number
console.log("5" * "2"); // 10
console.log(true + 1);  // 2, true dianggap 1

Operator + lebih suka string: kalau salah satu operan string, yang lain ikut jadi string. Operator -, *, / sebaliknya, memaksa jadi number. Ketidakkonsistenan inilah alasan kenapa perbandingan harus pakai ===.

Untuk konversi eksplisit yang jelas niatnya:

javascript
console.log(Number("42"));    // 42
console.log(String(42));      // "42"
console.log(Boolean("halo")); // true
console.log(Boolean(""));     // false

Biasakan konversi eksplisit. Kode yang niatnya jelas tidak akan mengejutkan pembacanya.

Kesimpulan

Kuasai lima primitif utama dulu: string, number, boolean, undefined, null. Mereka adalah bahan baku semua program yang akan kamu tulis.