DISKON TERBATAS! Masukkan kupon "skillbaru" saat checkout di kelas apa saja

Logo Koala Skodev mengetik

Skodev

Belajar coding dalam bahasa Indonesia

SCOPE VARIABLE

Artikel ini menjelaskan variabel Scope dalam Javascript, pengertian umum dan detail, terdiri dari global, lokal, dan Block Scope.

Dalam sebuah program Javascript, pembacaan dan penulisan variabel sangat penting. Bagaimana suatu variabel dapat diakses, dimana dan kapan itulah yang kita sebut sebagai “Scope”.

Pengertian Umum Scope

Scope dalam Javascript adalah konteks atau ruang lingkup di mana variabel, fungsi, dan objek tersedia dalam kode anda. Scope membatasi akses ke variabel dan membantu menghindari pertentangan nama variabel dalam sebuah kode. Ada tiga jenis scope dalam Javascript: Global, Lokal, dan Block Scope.

Global Scope

Variabel yang didefinisikan di luar blok kode atau fungsi manapun dalam suatu file Javascript memiliki cakupan global. Artinya, variabel tersebut bisa diakses dari mana saja dalam file tersebut, baik di dalam fungsi, blok kode ataupun di luar.

var variableGlobal = "Ini adalah variabel global";

function contohFungsi() {
  console.log(variableGlobal); // "Ini adalah variabel global"
}

Lokal Scope atau Function Scope

Variabel yang dibuat dalam sebuah fungsi memiliki scope lokal atau function scope. Mereka hanya bisa diakses dari dalam fungsi itu sendiri.

function contohLokal() {
  var variableLokal = "Nilai ini lokal lho";
  console.log(variableLokal);//"Nilai ini lokal lho"
}
console.log(variableLokal); // undefined

Jika kamu mencoba mengakses variableLokal di luar contohLokal(), Javascript tidak akan mengetahuinya dan mengembalikan nilai undefined.

Block Scope

ES6 menambahkan let dan const sebagai cara baru untuk mendeklarasikan variabel. Berbeda dengan var yang memiliki function scope, variabel yang dideklarasikan dengan let atau const akan memiliki block scope. Artinya, variabel tersebut hanya bisa diakses dalam block yang sama, baik itu berupa fungsi, kondisi if atau for loop.

if (true) {
  let angka = 42;
  console.log(angka);// 42
}
console.log(angka); // undefined

Di sini, angka dapat diakses dari dalam block if, tapi setelah keluar dari block tersebut, ia menghasilkan undefined.

Itulah beberapa hal terkait scope dalam JavaScript. Dengan memahaminya, kamu dapat menulis kode yang lebih baik dan terhindar dari bug terkait scope. Selamat mencoba!

👈🏼 Return pada fungsi
Hoisting 👉🏼