Halo teman-teman, selamat datang kembali di Kursus Javascript dari nusantech academy. Sebelum melanjutkan membaca materi ini, diharapkan Anda sudah memahami materi pada modul 2 yaitu tentang javascript dasar. Pada modul 2 kita telah membahas cara membuat variabel dan dasar-dasar bahasa pemrograman javascript lainnya
Lingkup Variabel
Pada pembahasan kali ini akan dibahas mengenai variable scope. Cakupan variabel berguna dalam menentukan visibilitas dan aksesibilitas suatu variabel. Ada tiga jenis cakupan dalam javascript, yaitu cakupan global, cakupan lokal, dan cakupan blok
Lingkup Global
Ketika kita mengeksekusi atau menjalankan kode program yang telah kita buat, mesin javascript akan membuat konteks eksekusi global, yang merupakan tempat di mana kode javascript di luar fungsi javascript akan dievaluasi dan dieksekusi. Tempat di mana kode fungsi javascript dievaluasi dan dieksekusi disebut konteks eksekusi fungsi. Jadi, secara sederhana cakupan global adalah cakupan di luar cakupan fungsi-fungsi dalam kode javascript yang kita buat
Variabel yang dideklarasikan dalam lingkup global biasa disebut variabel global. Variabel global dapat diakses dan dimodifikasi hampir di mana saja dalam kode program yang kita buat.
Contoh variabel global.
Variabel x adalah variabel global yang dapat diakses di fungsi apa pun dalam kode kita. Pada contoh di atas, kami mencoba mengakses variabel x dalam fungsi test(). Pada fungsi tersebut kita berhasil mengakses dan memodifikasi variabel x yang awalnya bernilai 10 menjadi 9
Ada hal unik dan penting yang perlu diingat dalam javascript, yaitu ketika kita mendeklarasikan suatu variabel tanpa menggunakan kata kunci var, let atau const, maka secara otomatis variabel tersebut akan menjadi variabel global. Sebagai contoh.
function test() { y = 100 } test() console.log('nilai global y: ',y)_Pada contoh di atas, variabel y yang dideklarasikan dalam fungsi test() dapat diakses di luar fungsi test(). Ini berarti bahwa variabel y adalah variabel global. Ini adalah praktik terbaik untuk selalu menggunakan kata kunci var, let atau const untuk mendeklarasikan variabel. Dengan begitu, kita bisa mendapatkan ruang lingkup setiap variabel dan mencegah kesalahan di masa mendatang
Lingkup Lokal
Cakupan lokal adalah ruang lingkup fungsi dalam javascript. Lingkup lokal juga sering disebut lingkup fungsi. Variabel yang dideklarasikan dalam lingkup lokal hanya dapat diakses dalam lingkup tersebut dan tidak dapat diakses secara global atau dalam lingkup lokal lainnya. Sebagai contoh
function test() { let y = 100 console.log('nilai local y: ',y) } test() console.log('nilai global y: ',y)Pada contoh di atas terlihat bahwa error muncul ketika kita mencoba mengakses variabel lokal y di luar fungsi test(). Jadi variabel lokal, tidak dapat diakses di luar ruang lingkup
Jika kita membuat variabel lokal yang memiliki nama yang sama dengan variabel global, maka kedua variabel tersebut tidak akan saling bertabrakan. Sebagai contoh
let y = '10' function test() { let y = 100 console.log('nilai local y: ',y) } test() console.log('nilai global y: ',y)Lingkup Blok
Dari update ES6, ada dua kata kunci baru untuk mendeklarasikan variabel, yaitu let dan const. Let dan const dapat digunakan untuk mendeklarasikan variabel dalam lingkup blok. Secara umum, block scope adalah scope yang berada di dalam area kurung kurawal {}, seperti if statement, switch statement, for loop, while loop, dan do while loop. Variabel yang dideklarasikan dalam cakupan blok biasanya disebut variabel level blok. Contoh cakupan blok
function test() { let y = 100 console.log('nilai local y: ',y) if(y > 99) { let y = 1000 console.log('nilai block y: ', y) } } test() console.log('nilai global y: ',y)_Dari contoh diatas dapat kita lihat bahwa pada blok pernyataan if terdapat variabel y yang memiliki nilai tertentu untuk blok tersebut. Jika kita mencoba melihat nilai variabel y di luar blok pernyataan if, maka kita akan mendapatkan nilai variabel y sesuai dengan ruang lingkupnya dan akan error jika variabel y tidak ada atau belum dideklarasikan pada cakupan
Penutupan
Nah untuk mengulas materi yang telah kita bahas, variable scope pada javascript bisa berguna untuk menentukan visibility dan visibility suatu variabel. Terdapat tiga jenis scope pada javascript yaitu global scope, local scope atau function scope dan block scope. Ruang lingkup global adalah ruang lingkup terluar dari kode program kami. Variabel yang dideklarasikan dalam lingkup global biasa disebut variabel global. Lingkup lokal atau lingkup fungsi adalah ruang lingkup yang ada di setiap fungsi kode program kita. Biasanya variabel yang dideklarasikan dalam lingkup lokal disebut variabel lokal. Lingkup blok adalah ruang lingkup di dalam area kurung kurawal {} seperti pada pernyataan if, pernyataan switch, for loop, while loop dan do while loop. Variabel dalam cakupan blok biasanya disebut variabel level blok
Baiklah teman-teman saya rasa cukup untuk materi variable scope ini. Tetap semangat untuk mengikuti Kursus Javascript dari Nusantech Academy