[英]Why let at function scope in JavaScript?
我理解let
& var
的塊與函數作用域(或者我以為我做過)。 最近我遇到了一些使用let
函數范圍的JavaScript,我認為它等同於使用var
,如:
function xyz ( abc ) {
let mno = abc - 1; /* or whatever */
...
}
它與使用var
之間是否有任何功能差異? 或者它只是一種風格的東西?
函數范圍內的一個區別是,如果您在定義之前嘗試引用let
,則會出現臨時死區 :
function example() {
console.log(a); // undefined
console.log(b); // ReferenceError: b is not defined
var a = 1;
let b = 2;
}
根據這個答案 ,你所描述的情況沒有區別,它們在功能上與它們在功能范圍內都是一樣的。 正如您猜測的那樣,可能只是想要在定義變量時保持一致的人(或者linter)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.