Babil'in ES6 için rehber diyor:
let
yenidirvar
.
Görünüşe göre tek fark olmasıdır var
güncel kapsama alır fonksiyonu ise, let
cari kapsama alır blokta . Bu cevapta bazı iyi örnekler var .
var
ES6 kodunda kullanmak için hiçbir neden göremiyorum . Belirli bir değişkeni tüm fonksiyona dahil etmek isteseniz bile, bunu , fiili kapsamı belirtmek için let
ne yapmalısınız var
? Ve bir for
bloğa veya başka bir şeye daha ince bir şey dahil etmek istiyorsanız , o zaman bunu da yapabilirsiniz.
Yani benim var
içgüdüm ES6 kodunu yazarken tamamen kullanmayı bırakıyor.
Sorum şu, bu konuda yanlış mıyım? var
Tercih edilebilecek meşru bir dava var mı let
?
let
Bir fonksiyonun en üstüne bir ifade koyarsanız , onu tüm fonksiyona dahil etmek istediğiniz kadar açık olduğunu düşünüyorum. Kullanmanın var
basitçe en üste yerleştirmekten daha net bir şey yaptığını sanmıyorum .
var
hala var olan tek neden , geriye dönük uyumluluk olduğuna inanıyorum . Öyle olmasaydı, var
tamamen kaldırılmışlardı ya let
da ilk etapta hiç tanıtılmamışlardı ; bunun yerine, baştan var
beri olması gereken şeyin anlamını değiştiriyorlardı .
var
bana göre zayıf görünüyor ve etrafta atlayan üçüncü bir değişken türünü garanti etmek için yeterli değil. A let
fonksiyonunu bir fonksiyonun en üstüne yerleştirerek var
, bir bloğa yazma niyetinden daha açık olan bir fonksiyonun kapsamını alabilirsiniz. - tuhaf). Eğer let
bir fonksiyona atarsanız “sözdizimi yerine sadece farkı işaret eden konumdur” diye uyarıyor , ama bence bu iyi bir şey.
var
. var
Saklamak için sunduğu örnekler haklı görünmektedir - ve ciddi kodlama hatalarına dayanmaktadır . Bir hatayla karşılaşmak ve bu hataları düzeltmek zorunda kalmak, ondan kurtulmak için dil işlevlerini kullanmaktan çok daha iyidir! Sırada ne var, çökmeleri önlemek için her şeyi bir deneme / yakalamaya koymanız önerilir mi? Bu bağlantının gerisi iyi ama o kısımla aynı fikirde değilim.
var
bu değişkenin tüm işlevi kapsaması amaçlanan bilinçli bir gösterge olarak kullanılmasının yararlı bir "kendi kendini belgeleyen" kural olabileceği anlaşılıyor. .