【发布时间】:2020-11-06 05:17:34
【问题描述】:
为什么我可以在浏览器控制台(例如 Chrome)中重新定义变量,但不能在笔记本电脑(Mac)终端上的控制台(节点)中重新定义。
终端节点控制台:
> let varA = varB;
< Uncaught ReferenceError: varB is not defined
> let varB = "bla";
> let varA = varB;
< Uncaught SyntaxError: Identifier 'varA' has already been declared
> varA
< Uncaught ReferenceError: varA is not defined
//dropping let
> varA = varB;
< Uncaught ReferenceError: Cannot access 'varA' before initialization
Chrome 控制台:
> let varA = varB;
< VM510:1 Uncaught ReferenceError: varB is not defined
at <anonymous>:1:12
(anonymous) @ VM510:1
> let varB = "bla";
< undefined
> let varA = varB;
< undefined
> varA
< "bla"
【问题讨论】:
-
这能回答你的问题吗? Redefinition of variable in node.js
-
@Greedo 感谢您提供 MDN 链接。我现在明白为什么在使用 let 时会发生这种情况。
标签: javascript node.js variables