Keyword let diperkenalkan di ES6 (2015) .
Variabel yang didefinisikan dengan let tidak dapat dideklarasikan
ulang.
Variabel yang didefinisikan dengan let harus dideklarasikan
sebelum digunakan.
Variabel didefinisikan dengan let memiliki Block Scope.
Tidak Dapat Dideklarasikan Ulang
Variabel yang didefinisikan dengan let tidak dapat dideklarasikan
ulang.
Kita tidak dapat secara tidak sengaja mendeklarasikan ulang suatu variabel.
Dengan let kita tidak dapat melakukan ini:
let x = "Ian Zune";
let x = 0;
// SyntaxError: 'x' sudah dideklarasikan
Dengan var kita dapat:
var x = "Ian Zune";
var x = 0;
Block Scope
Sebelum ES6 (2015), JavaScript hanya memiliki Global Scope dan Function Scope.
ES6 memperkenalkan dua keyword JavaScript baru yang penting:
let dan const.
Kedua keyword ini menyediakan Block Scope dalam JavaScript.
Variabel yang dideklarasikan di dalam blok {} tidak dapat diakses dari luar blok.
Contoh
{
let x = 2;
}
// x tidak dapat digunakan di sini
Variabel yang dideklarasikan dengan keyword var tidak boleh memiliki block scope.
Variabel yang dideklarasikan di dalam blok {} dapat diakses dari luar blok.
Contoh
{
var x = 2;
}
// x bisa digunakan di sini
Mendeklarasikan Ulang Variabel
Mendeklarasikan ulang variabel menggunakan keyword var dapat
menimbulkan masalah.
Mendeklarasikan ulang variabel di dalam blok juga akan mendeklarasikan ulang variabel di luar blok:
var x = 10;
// Di sini x adalah 10
{
var x = 2;
// Di sini x adalah 2
}
// Di sini x adalah 2
Mendeklarasikan ulang variabel menggunakan keyword let dapat
menyelesaikan masalah ini.
Mendeklarasikan ulang variabel di dalam blok tidak akan mendeklarasikan ulang variabel di luar blok:
let x = 10;
// Di sini x adalah 10
{
let x = 2;
// Di sini x adalah 2
}
// Di sini x adalah 10
Dukungan Browser
Keyword let tidak sepenuhnya didukung di Internet Explorer 11
atau versi sebelumnya.
Tabel berikut mendefinisikan versi browser pertama dengan dukungan penuh untuk
keyword let:
Mendeklarasikan ulang
Mendeklarasikan ulang variabel JavaScript dengan
var diperbolehkan di mana saja dalam suatu program:
var x = 2;
// Sekarang x adalah 2
var x = 3;
// Sekarang x adalah 3
Dengan let, mendeklarasikan ulang variabel di blok yang sama
tidak diperbolehkan:
var x = 2; // Diperbolehkan
let x = 3; // Tidak diperbolehkan
{
let x = 2; // Diperbolehkan
let x = 3 // Tidak diperbolehkan
}
{
let x = 2; // Diperbolehkan
var x = 3 // Tidak diperbolehkan
}
Mendeklarasikan ulang variabel dengan let di blok lain
diperbolehkan:
let x = 2; // Diperbolehkan
{
let x = 3; // Diperbolehkan
}
{
let x = 4; // Diperbolehkan
}
Let Hoisting
Variabel didefinisikan dengan var yang di hoisting ke atas dan
dapat diinisialisasi setiap saat.
Artinya, kita dapat menggunakan variabel sebelum dideklarasikan:
merkMobil = "Volvo";
var merkMobil;
Variabel yang didefinisikan dengan let juga di hoisting ke atas
blok, tetapi tidak diinisialisasi.
Artinya, menggunakan variabel let sebelum dideklarasikan akan
menghasilkan ReferenceError.
Contoh
merkMobil = "Lexus";
let merkMobil = "Volvo";
Sumber referensi: w3schools
Komentar
Posting Komentar