JavaScript'e ayrılmış bir anahtar kelimeye neden değişken adı olarak izin verilir?


Yanıtlar:


25

let katı modda yalnızca ayrılmış bir kelimedir:

'use strict';
var let = 5;

Yakalanmamış Sözdizimi Hatası: Beklenmeyen katı mod ayrılmış sözcük

Bunun nedeni, tarayıcıların genellikle geriye dönük uyumluluğa öncelik vermesidir . letES2015'te kullanılmasına rağmen (ve kullanımı bundan bir süre önce öngörülmüş olsa da), letdeğişken adı olarak kullanılan önceki komut dosyaları istendiği gibi çalışmaya devam edecektir. Örneğin, senaryonuz 2008 yılında yazılmışsa:

var let = 2;
console.log(let);

Sonra 2020'de de çalışmaya devam edecekti.

Çok benzer nedenlerle, asyncve awaitde vardır değişken adı olarak izin .

Neden letkatı modda - katı modda hataların kullanılmasının 2009'da ES5'te kullanılmaya geldiği konusunda. O zamana kadar, dil tasarımcıları değişkenleri bildirmek için yeni anahtar kelimelerin kullanımının gelecekte bir olasılık olduğunu gördüler, ancak henüz taşa girmedi ve ES6 hala uzun bir yol oldu. ES5 ortaya çıktığında, kod yazarları kodu daha az kafa karıştırıcı yapmak için katı moda geçebilir ve sessiz hataları açık hatalara değiştirebilir. Henüzlet değişken bildirimi için kullanılamamasına rağmen , katı modda değişken adı olarak yasaklanması, katı moda geçecek olan gelecekteki komut dosyalarının okunabilirliğini geliştirirken mevcut komut dosyalarını da kırmadı.


2

letve diğer bazı eserler sadece katı modda ayrılmış kelimeler gibi davranırlar. gözlük diyor

Katı modda İzin verilmeyen : İçeriğe katı mod kodunda, tanımlayıcılar olarak izin verilmeyen olanlar: let, static, implements, interface, package, private, protected, ve public;

letYalnızca katı modda izin verilmeyen sözcük listesinin içinde görebilirsiniz . letDeğişken adı olarak kullanmak için hata atmak istiyorsanız katı modu kullanabilirsiniz

"use strict";
var let = 3


Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.