DISKON TERBATAS! Masukkan kupon "skillbaru" saat checkout di kelas apa saja
Skodev
Belajar coding dalam bahasa Indonesia
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”.
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.
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"
}
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
.
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!