Javascript ES6游乐场的临时死区?

Javascript ES6游乐场的临时死区?,javascript,ecmascript-6,Javascript,Ecmascript 6,我正在阅读尼古拉斯·扎卡斯的著作,他在第一章中提到了“临时死区”(又称“TDZ”),在这一章中,访问块内的let变量会产生错误,但块外的变量只会被视为未定义的。下面是我用他的示例代码和他自己的注释编写的组合代码: console.log(值的类型);//“未定义” 如果(条件){ console.log(typeof value);//引发错误 让value=“蓝色”; }可能是后者,因为浏览器控制台直接按预期工作(TDZ行为)。ES6游乐场使用transpiler。如果你现在想试用ES6,只

我正在阅读尼古拉斯·扎卡斯的著作,他在第一章中提到了“临时死区”(又称“TDZ”),在这一章中,访问块内的
let
变量会产生错误,但块外的变量只会被视为
未定义的
。下面是我用他的示例代码和他自己的注释编写的组合代码:

console.log(值的类型);//“未定义”
如果(条件){
console.log(typeof value);//引发错误
让value=“蓝色”;

}
可能是后者,因为浏览器控制台直接按预期工作(TDZ行为)。ES6游乐场使用transpiler。如果你现在想试用ES6,只需使用最新浏览器的控制台,它们都支持它。“Mike Lambert的ES6游乐场是否已传输到ES5”是的,它是。操场包括一个面板,可以显示传输的ES5(它用
var
替代
let
)。可以使用顶部栏(ES6、ES5、控制台)中的一些按钮显示/隐藏。感谢您的评论@JonathanLonowski,是的,我看到了一个,我只选择了
ES6
以确保安全,但结果是
未定义
@Edper按钮看起来只是可见性切换。在评估您输入的ES6之前,关闭ES5不会阻止它传输。(当您从浏览器的开发人员工具中更改ES6时,您可以看到ES5的CodeMirror编辑器继续更新。)可能是后者,因为浏览器控制台直接按预期工作(TDZ行为)。ES6游乐场使用transpiler。如果你现在想试用ES6,只需使用最新浏览器的控制台,它们都支持它。“Mike Lambert的ES6游乐场是否已传输到ES5”是的,它是。操场包括一个面板,可以显示传输的ES5(它用
var
替代
let
)。可以使用顶部栏(ES6、ES5、控制台)中的一些按钮显示/隐藏。感谢您的评论@JonathanLonowski,是的,我看到了一个,我只选择了
ES6
以确保安全,但结果是
未定义
@Edper按钮看起来只是可见性切换。在评估您输入的ES6之前,关闭ES5不会阻止它传输。(当您从浏览器的开发人员工具更改ES6时,您可以看到ES5的CodeMirror编辑器继续更新。)