nic*_*ldi 1 javascript variable-declaration ecmascript-6 google-chrome-console
我正在学习 ES6 中引入的替代变量声明。现在,我了解到 'let' 变量声明是块范围的,虽然它可以更新,但不能在同一范围内重新声明。
我的第一个问题是:上述信息是否属实?我正在阅读 2020 年 4 月 2 日的一篇文章。事情可能已经改变了。
我的第二个问题是:如果上述信息属实,那么当我运行时,我的 Chrome 控制台是如何出现的
let greeting = 'hello';
Run Code Online (Sandbox Code Playgroud)
下面一行我重新声明它,例如
let greeting = 'say hi now';
Run Code Online (Sandbox Code Playgroud)
该值更改为“say hi now”,并且未报告任何错误。
我认为这与行尾的分号有关,但不确定。这里只是一个 JS 菜鸟。谢谢!
支持控制台中的 let 和 class 重新声明
控制台现在支持
let和class语句的重新声明。对于使用控制台试验新 JavaScript 代码的 Web 开发人员来说,无法重新声明是一个常见的烦恼。
在实验中,我发现 IE 11 和 Edge 的行为与 Chrome 相同,因为分别键入每个命令不会产生错误,但在单个评估中执行两者会产生错误。
另见https://bugs.chromium.org/p/chromium/issues/detail?id=1004193
其他实验表明 Firefox 和 NodeJS REPL 不提供这样的功能。