Apa pun programnya, dari yang paling sederhana sampai yang paling rumit, intinya selalu sama: mengolah informasi. Nama pengguna, harga barang, status apakah seseorang sudah login, daftar produk — semuanya informasi. Nah, supaya bisa melakukan sesuatu yang berguna, kodemu butuh tempat untuk menyimpan potongan-potongan informasi itu dan memakainya lagi nanti. Di sinilah variabel berperan — dan jenis informasi yang ditampung tiap variabel itu disebut tipe data.
Dua hal ini adalah fondasi paling dasar dari pemrograman. Begitu kamu paham variabel dan tipe data, semua materi JavaScript lainnya tinggal menumpuk di atasnya. Jadi mari kita pastikan dulu kedua hal ini benar-benar kamu kuasai.
Variabel itu apa
Singkatnya, variabel itu wadah yang punya nama untuk menampung sebuah nilai. Kamu kasih nama, kamu isi nilainya, dan setelah itu kamu tinggal sebut namanya kapan pun kamu butuh nilai tadi. Ini contoh paling dasarnya:
let nama = "John Doe";
console.log(nama); // mencetak: John Doe
Coba kita baca baris itu pelan-pelan: let artinya “buat variabel baru”, nama itu nama yang kita pilih sendiri, tanda = dipakai untuk mengisi nilai, dan "John Doe" adalah nilai yang disimpan. Setelah itu, di mana pun kamu menulis nama, JavaScript akan menggantinya dengan "John Doe". Bayangkan variabel sebagai kotak yang diberi label — labelnya namanya, isinya nilainya.
Kenapa ini berguna? Karena satu nilai bisa kamu pakai berulang kali, bisa kamu ganti cukup di satu tempat, dan kamu bisa menulis kode yang menangani informasi yang belum kamu ketahui sebelumnya — misalnya apa pun yang nanti diketik pengguna. Variabel itulah cara sebuah program “mengingat” sesuatu.
Mendeklarasikan variabel: let dan const
JavaScript modern punya dua kata kunci utama untuk membuat variabel: let dan const. Bedanya sederhana tapi penting.
let membuat variabel yang nilainya bisa kamu ubah nanti:
let skor = 0;
skor = 10; // diizinkan — let bisa ditetapkan ulang
console.log(skor); // mencetak: 10
const membuat variabel yang nilainya tidak bisa diubah lagi setelah diisi. Kata “const” sendiri diambil dari “constant”, alias konstanta:
const tahunLahir = 1995;
tahunLahir = 2000; // ERROR — const tidak bisa diisi ulang
Lalu yang mana yang sebaiknya kamu pakai? Ini patokan praktis yang dipegang para developer berpengalaman:
Pakai const sebagai pilihan utama, let kalau memang perlu diubah
Biasakan pakai const lebih dulu untuk semua hal. Baru pindah ke let kalau kamu memang benar-benar butuh mengubah nilai variabelnya nanti — misalnya angka penghitung atau skor yang terus diperbarui. Kenapa begitu? Karena const bikin maksudmu jelas terbaca: “nilai ini tidak akan berubah”. Sekaligus melindungimu dari tidak sengaja menimpa nilai yang sebenarnya tidak ingin kamu ubah. Hasilnya, bug jadi lebih sedikit. Jadi kebiasaannya: mulai dari const, lalu turun ke let hanya saat ketemu kasus yang memang butuh nilainya berubah.
Kamu mungkin juga akan menemukan kata kunci lama bernama var. Itu cara mendeklarasikan variabel sebelum let dan const ada. var masih bisa dipakai, tapi punya beberapa perilaku yang membingungkan — dan justru itulah yang ingin diperbaiki oleh let dan const. Di kode modern, pakailah let dan const saja. Cukup kenali var supaya kamu tidak bingung kalau menemukannya di contoh-contoh kode lama.
Menamai variabel
Ada beberapa aturan dan kebiasaan dalam memberi nama variabel:
- Nama boleh berisi huruf, angka,
$, dan_, tapi tidak boleh diawali angka. - Nama bersifat peka huruf besar-kecil:
namadanNamadianggap dua variabel yang berbeda. - Kebiasaan umumnya memakai camelCase — huruf pertama kecil, lalu setiap kata baru diawali huruf besar:
firstName,totalPrice,isLoggedIn. - Pilih nama yang jelas menggambarkan isinya.
userAgelangsung memberitahu apa yang disimpan; sementaraxatauatidak memberi petunjuk apa-apa.
Nama yang bagus bikin kode jauh lebih enak dibaca. Ingat, kamu menulis kode bukan cuma untuk komputer — tapi juga untuk orang berikutnya yang membacanya. Dan orang itu sering kali adalah kamu sendiri, enam bulan dari sekarang.
Tipe data: nilainya jenis apa?
Setiap nilai di JavaScript punya sebuah tipe — kategori yang mendeskripsikan jenis datanya. JavaScript punya segelintir tipe dasar, dan inilah yang akan kamu pakai terus-menerus.
String (teks)
Sebuah string adalah teks, ditulis di dalam tanda kutip. Kamu bisa memakai kutip tunggal atau ganda (cukup konsisten):
const sapaan = "Halo, dunia";
const kota = 'Jakarta';
String bisa menampung teks apa saja — nama, pesan, alamat. Kamu bisa menyambung beberapa string (istilahnya konkatenasi) pakai +, atau memakai cara modern yang lebih rapi bernama template literal, yang ditulis pakai backtick dan ${ }:
const nama = "John Doe";
const pesan = `Halo, ${nama}!`; // "Halo, John Doe!"
Dengan template literal, kamu bisa menyelipkan variabel langsung ke dalam string. Cara ini jauh lebih bersih dibanding harus menyambung-nyambung potongan teks satu per satu pakai +.
Number (angka)
Sebuah number persis seperti kedengarannya — JavaScript memakai satu tipe number untuk bilangan bulat maupun desimal:
const umur = 28;
const harga = 19.99;
Kamu bisa berhitung dengannya secara langsung memakai +, -, * (kali), dan / (bagi):
const total = harga * 2; // 39.98
Boolean (true/false)
Sebuah boolean cuma punya dua kemungkinan nilai: true atau false. Tipe ini mewakili kondisi ya/tidak atau nyala/mati, dan jadi tulang punggung saat kode harus mengambil keputusan:
const sudahLogin = true;
const punyaIzin = false;
Boolean bakal jadi sangat penting di artikel berikutnya, saat kita memakainya untuk membuat kode memilih jalur yang berbeda tergantung kondisinya.
Undefined dan null
Ada dua tipe khusus yang sama-sama berarti “tidak ada nilai”:
undefinedartinya sebuah variabel sudah dibuat, tapi belum diisi nilai apa pun.nulladalah nilai yang sengaja kamu pasang untuk menandakan “ini memang kosong / tidak ada isinya”.
let hasil; // undefined — sudah dibuat tapi belum diisi
const dipilih = null; // null — sengaja diisi "kosong"
Bedanya memang tipis: undefined biasanya berarti “belum sempat diisi”, sedangkan null berarti “sengaja dikosongkan”. Kamu bakal sering ketemu keduanya.
Array dan objek (sekilas dulu)
Ada juga dua tipe penting untuk menampung kumpulan nilai: array (daftar yang berurutan) dan objek (sekumpulan nilai yang masing-masing diberi label). Keduanya cukup besar untuk dibahas di artikel terpisah, yang bakal kita bahas nanti di section ini. Untuk sekarang, cukup tahu dulu bahwa keduanya ada, dan itulah cara kamu menyimpan beberapa nilai sekaligus.
Memeriksa tipe sebuah nilai
Kalau kamu pernah ragu sebuah nilai bertipe apa, JavaScript punya operator bawaan typeof yang memberitahumu:
console.log(typeof "halo"); // "string"
console.log(typeof 42); // "number"
console.log(typeof true); // "boolean"
Ini alat debugging yang berguna saat ada kode yang tidak berjalan sesuai harapan — sering kali biangnya adalah sebuah nilai yang ternyata bertipe lain dari yang kamu kira (misalnya string "5", padahal kamu pikir number 5).
JavaScript menentukan tipenya sendiri
Beda dengan sebagian bahasa lain, di JavaScript kamu tidak perlu mendeklarasikan tipe sebuah variabel — kamu tinggal mengisinya dengan nilai, dan JavaScript yang menentukan tipenya secara otomatis. Bahkan satu variabel bisa berisi string di satu saat, lalu number di saat lain (walaupun gonta-ganti tipe seperti ini sebaiknya dihindari supaya kode tetap jelas). Kebebasan ini memang praktis, tapi artinya kamu tetap harus sadar nilaimu bertipe apa — karena tipe yang tercampur-aduk adalah salah satu sumber bug yang paling sering terjadi.
Penutup
Sekarang kamu sudah punya fondasi yang jadi pijakan semua materi pemrograman berikutnya:
- Variabel adalah wadah bernama untuk menampung sebuah nilai. Buat pakai
const(tidak bisa diisi ulang) ataulet(bisa diisi ulang) — utamakanconst, pakailethanya saat kamu memang perlu mengubah nilainya. - Beri nama variabel dengan gaya camelCase, dan pastikan namanya jelas menggambarkan isinya.
- Setiap nilai punya tipe data. Tipe intinya: string (teks dalam tanda kutip), number, boolean (
true/false), serta dua tipe “kosong” yaituundefineddannull. - Template literal (backtick dengan
${ }) adalah cara rapi menyusun string yang ada variabelnya di dalam. typeofmemberitahu tipe sebuah nilai — berguna banget buat debugging.
Dengan variabel dan tipe data yang sudah kamu kuasai, kamu bisa menyimpan dan melabeli semua informasi yang dibutuhkan programmu. Berikutnya, kita mulai benar-benar mengolah nilai-nilai itu lewat operator dan kondisional — melakukan perhitungan, membandingkan nilai, dan membuat kodemu mengambil langkah berbeda tergantung kondisinya.