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…

Setiap nilai di JavaScript punya tipe data, yaitu jenis nilainya: teks, angka, ya/tidak, daftar, dan seterusnya. Tipe menentukan apa yang bisa dilakukan dengan nilai itu: angka bisa dijumlah, teks bisa disambung. Tipe datang dari nilainya, bukan dari nama variabelnya.

🧪 Tebakan cepat: typeof [1, 2, 3] hasilnya apa, "array" atau yang lain? Tebak dulu, jawabannya ada di bagian "Array dan object: kumpulan nilai".

Tiga tipe dasar: string, number, boolean

let kota = "Bandung";
let harga = 15000;
let lapar = true;

console.log(typeof kota);  // "string"
console.log(typeof harga); // "number"
console.log(typeof lapar); // "boolean"

Kutip mengubah tipe. 42 itu number, "42" itu string. Hasilnya beda: 42 + 1 jadi 43, sedangkan "42" + 1 jadi "421", karena teks yang ditambah malah disambung. Begitu juga "true" dengan kutip itu string, bukan boolean.

Array dan object: kumpulan nilai

let belanja = ["beras", 2, true];
let posisi = { x: 3, y: 7 };

Jawaban tebakan: typeof [1, 2, 3] hasilnya "object", karena di JavaScript array juga object. Buat memastikan sebuah nilai itu array, pakai Array.isArray(belanja), hasilnya true.

Kosong: undefined dan null

let alamat;
let foto = null;

console.log(alamat); // undefined
console.log(typeof foto); // "object"
console.log(foto === null); // true

⚠️ Jebakan yang sering ketemu

TL;DR: Tipe data adalah jenis sebuah nilai. String itu teks dalam kutip, number itu angka tanpa kutip, boolean itu true atau false. Array adalah daftar dalam [ ], object adalah pasangan nama dan nilai dalam { }. undefined berarti belum diisi, null berarti sengaja kosong. typeof memberi tipe sebagai teks, tapi array dan null sama-sama "object": cek dengan Array.isArray() dan === null.

Yang akan kamu pelajari