Variabel adalah wadah untuk menyimpan data. Dalam JavaScript, Anda perlu tahu cara membuat variabel dan tipe data apa saja yang tersedia.
1. Membuat Variabel
JavaScript punya tiga cara membuat variabel:
var (Legacy)
var nama = "Andika";
var umur = 25;
var adalah cara lama. Sudah tidak direkomendasikan karena punya masalah scope.
let (ES6)
let nama = "Andika";
let umur = 25;
let adalah cara modern untuk variabel yang bisa diubah.
const (ES6)
const PI = 3.14159;
const nama = "Andika";
const untuk variabel yang tidak bisa diubah setelah dideklarasikan.
2. Perbedaan var, let, const
| Aspek | var | let | const |
|---|---|---|---|
| Scope | Function | Block | Block |
| Re-declare | Boleh | Tidak | Tidak |
| Re-assign | Boleh | Boleh | Tidak |
| Hoisting | Ya | Ya (TDZ) | Ya (TDZ) |
Contoh
// var - bisa diubah dan dideclare ulang
var x = 10;
var x = 20; // OK
x = 30; // OK
// let - bisa diubah, tidak bisa declare ulang
let y = 10;
// let y = 20; // Error!
y = 30; // OK
// const - tidak bisa diubah
const z = 10;
// z = 20; // Error!
3. Tipe Data
Primitive Types
// String - teks
let nama = "Andika";
let pesan = 'Halo';
let template = `Nama saya ${nama}`;
// Number - angka
let umur = 25;
let harga = 99.99;
let negatif = -10;
// Boolean - true/false
let aktif = true;
let nonaktif = false;
// Null - nilai kosong (sengaja)
let kosong = null;
// Undefined - belum didefinisikan
let belumAda;
console.log(belumAda); // undefined
// Symbol - identifier unik
let id = Symbol('id');
// BigInt - angka besar
let besar = 9007199254740991n;
4. Mengenal Tipe Data
typeof Operator
console.log(typeof "Andika"); // string
console.log(typeof 25); // number
console.log(typeof true); // boolean
console.log(typeof null); // object (bug di JS!)
console.log(typeof undefined); // undefined
console.log(typeof Symbol('x')); // symbol
5. Template Literals
Cara modern untuk membuat string dengan expression:
let nama = "Andika";
let umur = 25;
// String concatenation (lama)
let sapa1 = "Halo, " + nama + "! Umur Anda " + umur + " tahun.";
// Template literal (baru)
let sapa2 = `Halo, ${nama}! Umur Anda ${umur} tahun.`;
// Multi-line
let alamat = `
Jl. Merdeka No. 123
Batam, Kepulauan Riau
Indonesia
`;
6. Type Conversion
String to Number
let angka = Number("123"); // 123
let desimal = parseFloat("3.14"); // 3.14
let integer = parseInt("42"); // 42
Number to String
let teks = String(123); // "123"
let teks2 = (123).toString(); // "123"
Boolean Conversion
Boolean(0); // false
Boolean(""); // false
Boolean(null); // false
Boolean("hi"); // true
Boolean(42); // true
7. Naming Rules
// ✅ Bener
let nama = "Andika";
let _private = true;
let $element = document.body;
let namaLengkap = "Andika Rekatias";
let MAX_SIZE = 100;
// ❌ Salah
let 1name = "Error"; // Tidak boleh mulai angka
let my-name = "Error"; // Tidak boleh pakai hyphen
let my name = "Error"; // Tidak boleh ada spasi
Convention
- camelCase untuk variabel dan fungsi:
namaLengkap,hitungTotal - UPPER_CASE untuk konstanta:
MAX_SIZE,API_URL - snake_case (opsional):
nama_lengkap
8. Contoh Lengkap
// Variabel
const nama = "Andika";
let umur = 25;
let aktif = true;
// Template literal
let profil = `
Nama: ${nama}
Umur: ${umur} tahun
Status: ${aktif ? "Aktif" : "Nonaktif"}
`;
console.log(profil);
// Type conversion
let input = "42";
let angka = Number(input);
console.log(angka + 8); // 50
9. Ringkasan
| Tipe | Contoh | typeof |
|---|---|---|
| String | "Halo" |
string |
| Number | 42, 3.14 |
number |
| Boolean | true, false |
boolean |
| Null | null |
object |
| Undefined | undefined |
undefined |
| Symbol | Symbol('id') |
symbol |
| BigInt | 9007199254740991n |
bigint |
| Keyword | Bisa Diubah | Bisa Declare Ulang |
|---|---|---|
| var | ✅ | ✅ |
| let | ✅ | ❌ |
| const | ❌ | ❌ |
Penutup
Variabel dan tipe data adalah fondasi JavaScript. Gunakan const sebagai default, let kalau perlu diubah, dan hindari var. Pahami juga type conversion agar tidak ada bug yang tidak terduga.
Di artikel selanjutnya, kita akan bahas Operators & Expressions — arithmetic, comparison, logical, dan lainnya.
Selamat bereksperimen! 🚀