在JavaScript中声明变量的错误较少的方法是什么?
var a;
var b;
var c;
Run Code Online (Sandbox Code Playgroud)
要么
var a,
b,
c;
Run Code Online (Sandbox Code Playgroud)
jQuery和Dojo使用第二种方法,并且就代码易读性而言,这是我最喜欢的,问题是我发现它更难调试.
例1:
var a,
b,
c; // oops.. semicolon instead of comma
d,
e;
Run Code Online (Sandbox Code Playgroud)
例2:
在项目中搜索某个变量时,var更好的是声明变量.
编辑:原来的例子是错的,我在复制和粘贴时犯了一个错误.代码已经更新,抱歉不方便.
我知道这let将被提升到块的顶部,但是在初始化之前访问它将抛出ReferenceError到期Temporal Dead Zone
例如:
console.log(x); // Will throw Reference Error
let x = 'some value';
Run Code Online (Sandbox Code Playgroud)
但是像这样的代码片段会运行而不会出错:
foo(); // alerts foo;
function foo(){ // foo will be hoisted
alert("foo");
}
Run Code Online (Sandbox Code Playgroud)
我的问题
let当它在访问时会出现错误时,将其提升到顶部的目的是什么?也有var遭受TDZ的影响,我知道什么时候会抛出,undefined但是因为TDZ?