Lingkup JavaScript
Lingkup menentukan aksesibilitas (visibilitas) variabel.
JavaScript memiliki 3 jenis cakupan:
- Lingkup blok
- Lingkup fungsi
- Lingkup global
Lingkup Blok
Sebelum ES6 (2015), JavaScript hanya memiliki Lingkup Global dan Lingkup Fungsi .
ES6 memperkenalkan dua kata kunci JavaScript baru yang penting: let
dan const
.
Kedua kata kunci ini menyediakan Lingkup Blok dalam JavaScript.
Variabel yang dideklarasikan di dalam blok {} tidak dapat diakses dari luar blok:
Contoh
{
let x = 2;
}
// x can NOT be used here
Variabel yang dideklarasikan dengan var
kata kunci TIDAK boleh memiliki cakupan blok.
Variabel yang dideklarasikan di dalam blok {} dapat diakses dari luar blok.
Contoh
{
var x = 2;
}
// x CAN be used here
Lingkup Lokal
Variabel yang dideklarasikan dalam fungsi JavaScript, menjadi LOKAL untuk fungsi tersebut.
Contoh
// code here can NOT use carName
function myFunction() {
let carName = "Volvo";
// code here CAN use carName
}
// code here can NOT use carName
Variabel lokal memiliki Lingkup Fungsi :
Mereka hanya dapat diakses dari dalam fungsi.
Karena variabel lokal hanya dikenali di dalam fungsinya, variabel dengan nama yang sama dapat digunakan dalam fungsi yang berbeda.
Variabel lokal dibuat saat fungsi dimulai, dan dihapus saat fungsi selesai.
Lingkup Fungsi
JavaScript memiliki ruang lingkup fungsi: Setiap fungsi membuat ruang lingkup baru.
Variabel yang didefinisikan di dalam suatu fungsi tidak dapat diakses (terlihat) dari luar fungsi.
Variabel yang dideklarasikan dengan var
, let
dan const
sangat mirip ketika dideklarasikan di dalam suatu fungsi.
Mereka semua memiliki Lingkup Fungsi :
function myFunction() {
var carName = "Volvo";
// Function Scope
}
function myFunction() {
let carName = "Volvo"; //
Function Scope
}
function myFunction() {
const carName = "Volvo"; //
Function Scope
}
Variabel JavaScript Global
Variabel yang dideklarasikan di luar fungsi, menjadi GLOBAL .
Contoh
let carName = "Volvo";
// code here can use carName
function myFunction() {
// code here can also use carName
}
Variabel global memiliki Lingkup Global :
Semua skrip dan fungsi pada halaman web dapat mengaksesnya.
Lingkup Global
Variabel yang dideklarasikan secara Global (di luar fungsi apa pun) memiliki Global Scope .
Variabel global dapat diakses dari mana saja dalam program JavaScript.
Variabel yang dideklarasikan dengan var
, let
dan const
sangat mirip ketika dideklarasikan di luar blok.
Mereka semua memiliki Lingkup Global :
var x = 2;
// Global scope
let x = 2; //
Global scope
const x = 2; //
Global scope
Variabel JavaScript
Dalam JavaScript, objek dan fungsi juga merupakan variabel.
Lingkup menentukan aksesibilitas variabel, objek, dan fungsi dari berbagai bagian kode.
Otomatis Global
Jika Anda menetapkan nilai ke variabel yang belum dideklarasikan, maka secara otomatis akan menjadi variabel GLOBAL .
Contoh kode ini akan mendeklarasikan variabel global carName
, bahkan jika nilainya ditetapkan di dalam suatu fungsi.
Contoh
myFunction();
// code here can use carName
function myFunction() {
carName = "Volvo";
}
Modus Ketat
Semua browser modern mendukung menjalankan JavaScript dalam "Mode Ketat".
Anda akan mempelajari lebih lanjut tentang cara menggunakan mode ketat di bab selanjutnya dari tutorial ini.
Dalam "Mode Ketat", variabel yang tidak dideklarasikan tidak secara otomatis bersifat global.
Variabel Global dalam HTML
Dengan JavaScript, cakupan globalnya adalah lingkungan JavaScript.
Dalam HTML, lingkup global adalah objek jendela.
Variabel global yang didefinisikan dengan var
kata kunci milik objek jendela:
Contoh
var carName = "Volvo";
// code here
can use window.carName
Variabel global yang didefinisikan dengan let
kata kunci bukan milik objek jendela:
Contoh
let carName = "Volvo";
// code here can not use window.carName
Peringatan
JANGAN membuat variabel global kecuali Anda berniat melakukannya.
Variabel global Anda (atau fungsi) dapat menimpa variabel jendela (atau fungsi).
Fungsi apa pun, termasuk objek jendela, dapat menimpa variabel dan fungsi global Anda.
Seumur Hidup Variabel JavaScript
Masa pakai variabel JavaScript dimulai saat dideklarasikan.
Variabel fungsi (lokal) dihapus ketika fungsi selesai.
Di browser web, variabel global dihapus saat Anda menutup jendela browser (atau tab).
Argumen Fungsi
Argumen fungsi (parameter) berfungsi sebagai variabel lokal di dalam fungsi.