Tipe Data — JavaScript

Coba kasih ke temen kamu: angka 5, kalimat "halo", jawaban benar/salah, daftar belanja. Tiap "barang" punya bentuk + cara dipake yang beda. Komputer juga gitu —

Coba kasih ke temen kamu: angka 5, kalimat "halo", jawaban benar/salah, daftar belanja. Tiap "barang" punya bentuk + cara dipake yang beda. Komputer juga gitu — dia harus tau "ini angka buat hitung", "ini teks buat ditampilin", "ini boolean buat keputusan". JavaScript ngebagi data jadi beberapa tipe: String (teks), Number (angka), Boolean (true/false), Array (daftar), Object (struktur), null + undefined (kekosongan). Paham tipe data = hindari 50% bug "kenapa kode aku error padahal udah bener?"

💡 JavaScript itu loosely typed. Beda dari Java atau TypeScript yang strict — di JavaScript kamu bisa ganti tipe variabel kapan aja. let x = 5; x = "halo" legal. Bebas, tapi bisa jadi sumber bug subtle. Itu kenapa banyak project modern pakai TypeScript buat tambah type safety.

JavaScript memiliki beberapa tipe data dasar:

Gunakan typeof untuk mengecek tipe data:

typeof "Halo"   // "string"
typeof 42       // "number"
typeof true     // "boolean"

🧪 Tebakan cepat. Tanpa run kode, tebak dulu hasil tiap baris ini:

typeof null         // ???
typeof []           // ???
typeof NaN          // ???
typeof undefined    // ???

Jawaban: "object", "object", "number", "undefined". Yang dua pertama bug klasik JavaScript yang gak akan diperbaiki — pakai x === null dan Array.isArray(x) buat cek pasti.

🎭 Analogi sehari-hari

Tipe data = jenis kemasan barang di pasar:

⚠️ Jebakan yang sering ditemui

TL;DR: Tipe dasar JS: String (teks), Number (angka, floating-point), Boolean (true/false), Array (list), Object (key-value), null (sengaja kosong), undefined (belum diisi). JS loosely typed — variabel bisa ganti tipe kapan aja. typeof null === "object" (bug klasik), typeof [] juga "object" (pakai Array.isArray), typeof NaN === "number". 0.1 + 0.2 !== 0.3 — pakai toFixed() atau library decimal buat uang.

Yang akan kamu pelajari