Global Scope
Variabel yang dideklarasikan di luar fungsi mempunyai ruang lingkup global (variabel global). Variabel ini bisa diakses oleh semua baris coding baik dalam fungsi ataupun di luar fungsi.
Harap dicatat bahwa variabel yang dideklarasikan di dalam fungsi tanpa kata kunci var akan menjadi akan otomatis menjadi global variable (automatic global scope).
Contoh variabel global:
Pada contoh di atas, variabel produk bisa di akses di dalam fungsi detailProduk dan bahkan di dalam blok if walaupun variabel produk tidak dideklarasikan di dalam fungsi/blok tersebut. Ini dikarenakan variabel produk adalah variabel global, sehingga bisa diakses dari mana saja selama ada di dalam lingkup variabel tersebut.
Selain itu, ada variabel name di dalam blok if namun bisa di akses di luar blok tersebut dan menghasilkan output indomie, ini karena variabel tersebut dideklarasikan di dalam fungsi detailProduk tanpa kata kunci, sehingga akan menjadi variabel global setelah fungsi detailProduk dipanggil setidaknya sekali.
Scope Local
Variabel yang dideklarasikan dalam fungsi mempunyai ruang lingkup local (variabel local). Variabel ini hanya bisa diakses di dalam sebuah fungsi atau blok kode.
Ruang lingkup lokal variabel ada dua tipe:
- Lingkup fungsi (function scope)
- Lingkup blok (block scope)
Contoh:
Pada contoh di atas, variabel stock bisa di akses di dalam blok if menghasilkan ouput 24, namun saat di akses dari luar blok if dengan perintah console.log(stock) menghasilkan eror, ini karena variabel stock adalah variabel lokal dalam lingkup blok, sehingga tidak bisa di akses di luar blok.
Sedangkan, variabel name dan variabel price adalah variabel lokal di lingkup fungsi, jadi hanya bisa di akses di dalam fungsi detailProduk.
Refrensi:
https://nextgen.co.id/konsep-scope/
https://dosenit.com/javascript/scope-javascript
0 Komentar