Kita tahu itu let
adalah kata kunci yang disediakan yang mendefinisikan variabel dalam JavaScript.
var let = 2;
console.log(let); // return 2
Jadi mengapa ini bukan kesalahan?
javascript
Md. Tahazzot
sumber
sumber
Jawaban:
let
hanya kata khusus dalam mode ketat:Ini karena browser umumnya memprioritaskan kompatibilitas mundur di atas segalanya. Meskipun
let
diperkenalkan di ES2015 (dan penggunaannya sudah terlihat sebelumnya), skrip sebelumnya yang digunakanlet
sebagai nama variabel akan terus berfungsi sesuai keinginan. Misalnya, jika skrip Anda ditulis pada 2008:Maka itu akan terus bekerja pada tahun 2020 juga.
Untuk alasan yang sangat mirip,
async
danawait
juga diizinkan sebagai nama variabel .Adapun mengapa penggunaan
let
kesalahan dalam mode ketat - mode ketat diperkenalkan di ES5, pada tahun 2009. Saat itu, perancang bahasa melihat bahwa penggunaan kata kunci baru untuk menyatakan variabel adalah kemungkinan di masa depan, tetapi tidak belum siap, dan ES6 masih jauh. Setelah ES5 keluar, penulis skrip dapat memilih untuk masuk ke mode ketat untuk membuat kode kurang membingungkan, dan mengubah kesalahan diam menjadi kesalahan eksplisit. Meskipunlet
itu tidak dapat digunakan untuk deklarasi variabel belum , melarang itu sebagai nama variabel dalam mode ketat meningkatkan pembacaan masa depan skrip yang memilih ke mode ketat, sementara juga tidak melanggar script yang ada.sumber
let
dan beberapa karya lainnya hanya berfungsi sebagai kata yang dilindungi undang-undang dalam mode ketat. The spesifikasi mengatakanAnda dapat melihat
let
di dalam daftar kata-kata yang hanya dilarang dalam mode ketat. Jika Anda ingin melempar kesalahan untuk digunakanlet
sebagai nama variabel, Anda dapat menggunakan mode ketatsumber
'gunakan yang ketat';
itu akan memberikan kesalahan. gunakan alat bundel seperti webpack, mendengus untuk mengkompilasi kode Anda.
sumber