
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