[英]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.