看ES6中let的使用时,提到了暂时性死区的概念,如下
ES6明确规定,如果区块中存在let和const命令,这个区块对这些命令声明的变量,从一开始就形成了封闭作用域。凡是在声明之前就使用这些变量,就会报错。在代码块内,使用let命令声明变量之前,该变量都是不可用的。这在语法上,称为“暂时性死区”(temporal dead zone,简称 TDZ)。
但是下文提到
function bar(x = y, y = 2) {
return [x, y];
}
bar(); // 报错
这里并没有使用let或者const,为什么也会因为死区而报错呢?
原文链接:http://es6.ruanyifeng.com/#do...
缥缈止盈
相关分类