MulaiCode
JavaScript

JS Variabel

Variabel adalah tempat untuk menyimpan data yang dapat digunakan dan dimanipulasi dalam program. Dalam JavaScript, variabel digunakan untuk menyimpan nilai yang dapat berubah sepanjang eksekusi program.

1. Deklarasi Variabel

Di JavaScript, Anda dapat mendeklarasikan variabel menggunakan tiga kata kunci utama:

  • var
  • let
  • const

a. var

var adalah cara lama untuk mendeklarasikan variabel. Variabel yang dideklarasikan dengan var memiliki fungsi scope atau global scope jika dideklarasikan di luar fungsi.

var nama = "Budi";
console.log(nama); // Budi

Namun, penggunaan var tidak disarankan lagi di JavaScript modern, karena memiliki masalah terkait hoisting dan scope yang dapat membingungkan.

b. let

let digunakan untuk mendeklarasikan variabel dengan block scope, artinya variabel hanya berlaku di dalam blok kode tempat ia dideklarasikan (misalnya, di dalam fungsi atau di dalam loop).

let umur = 25;
console.log(umur); // 25

let lebih direkomendasikan untuk digunakan dalam kode JavaScript modern karena memiliki ruang lingkup yang lebih terbatas dan lebih mudah dipahami.

c. const

const digunakan untuk mendeklarasikan variabel yang nilainya tidak dapat diubah setelah dideklarasikan. Anda masih dapat menggunakan const untuk objek dan array, namun Anda tidak bisa mengubah referensinya (misalnya, tidak bisa mendeklarasikan ulang objek atau array). Nilai di dalam objek atau array masih bisa diubah.

const pi = 3.14;
console.log(pi); // 3.14
 
// Contoh array dengan const
const angka = [1, 2, 3];
angka.push(4); // Bisa menambah elemen
console.log(angka); // [1, 2, 3, 4]
 
// Contoh objek dengan const
const orang = { nama: "Budi", umur: 25 };
orang.umur = 26; // Bisa mengubah properti
console.log(orang); // { nama: "Budi", umur: 26 }

2. Hoisting

Hoisting adalah perilaku di mana deklarasi variabel (baik dengan var, let, atau const) diangkat ke atas fungsi atau blok kode, meskipun variabel tersebut dideklarasikan di bawahnya.

Namun, ada perbedaan cara hoisting bekerja pada var, let, dan const.

a. var dan Hoisting

Jika Anda menggunakan var untuk mendeklarasikan variabel, deklarasi variabel tersebut akan diangkat ke atas, tetapi nilai awalnya tidak. Ini berarti Anda bisa mengakses variabel sebelum mendeklarasikannya, tetapi nilainya undefined.

console.log(x); // undefined
var x = 5;

b. let dan const dengan Hoisting

Dengan let dan const, meskipun deklarasi dihoisting ke atas, mereka tidak dapat digunakan sebelum dideklarasikan. Jika Anda mencoba untuk mengaksesnya sebelum deklarasi, Anda akan mendapatkan error ReferenceError.

console.log(y); // ReferenceError: Cannot access 'y' before initialization
let y = 10;

3. Menggunakan Variabel dalam Blok Kode

Variabel yang dideklarasikan dengan let dan const hanya dapat diakses dalam blok kode tempat mereka dideklarasikan. Ini disebut block-scoped. Hal ini berbeda dengan var, yang memiliki function-scoped.

a. Contoh let dan const dengan Block Scope

if (true) {
  let x = 5;
  const y = 10;
  console.log(x); // 5
  console.log(y); // 10
}
 
console.log(x); // ReferenceError: x is not defined
console.log(y); // ReferenceError: y is not defined

b. Contoh var dengan Function Scope

if (true) {
  var z = 15;
}
 
console.log(z); // 15 (karena `z` dihoisting dan dapat diakses di luar blok)

4. Deklarasi Variabel Tanpa Nilai

Di JavaScript, Anda bisa mendeklarasikan variabel tanpa memberikan nilai awal. Variabel tersebut akan memiliki nilai undefined secara default.

let a;
console.log(a);  // undefined
 
const b;  // Error: Missing initializer in const declaration

5. Konvensi Penamaan Variabel

Untuk nama variabel, ada beberapa konvensi yang perlu diikuti agar kode tetap bersih dan mudah dipahami:

  • Gunakan huruf kecil untuk nama variabel (nama, umur).
  • Gunakan huruf kapital di awal setiap kata setelah kata pertama pada variabel yang terdiri dari beberapa kata (namaDepan, tanggalLahir).
  • Hindari penggunaan nama yang terlalu umum atau nama yang berpotensi konflik dengan kata kunci JavaScript (misalnya, var, let, const, function).
let nama = "Andi";
const tahunLahir = 2000;

6. Kesalahan Umum dalam Penggunaan Variabel

a. Tidak Mendeklarasikan Variabel

Jika Anda mencoba untuk menggunakan variabel yang belum dideklarasikan dengan var, let, atau const, Anda akan mendapatkan error.

nama = "Budi"; // ReferenceError: nama is not defined

b. Menggunakan Variabel yang Tidak Terdefinisi

Jika Anda menggunakan variabel yang belum diberikan nilai, JavaScript akan memberi nilai undefined.

let nama;
console.log(nama); // undefined

7. Kesimpulan

Variabel adalah elemen dasar dalam pemrograman JavaScript. Memahami cara mendeklarasikan, menginisialisasi, dan memanipulasi variabel akan sangat membantu Anda dalam menulis kode yang lebih efisien dan mudah dipahami.

  • Gunakan let dan const di JavaScript modern, dan hindari penggunaan var.
  • Variabel yang dideklarasikan dengan let dan const memiliki block scope.
  • Perhatikan hoisting saat menggunakan var, let, dan const.