为什么 `var` 和 `let` 在 firefox web console 中有区别,而在 node.js 中却没有?
Why is this difference between `var` and `let` in firefox web console but not in node.js?
在node.js
> var name = 12;
> console.log(typeof name);
number
在 Firefox 的网络控制台中
var name = 12;
console.log(typeof name);
string
let name2 = 12;
console.log(typeof name2);
number
为什么 Firefox 中的 var
和 let
有区别?
为什么 node.js 没有这样的区别?
window
上有一个名为 name
的内置 属性:
console.log(name);
因此您的代码将寻找它,而不是您创建的 name
。
在我看来,从输出来看,node.js 不会像 Firefox 的 Web 控制台那样启动解释器的工作 - 这意味着在 node.js 中类似于它识别为数字的编译语言。
在 Firefox 的 Web 控制台中,它使用 var 将“12”作为字符串保存到内存中,或者仅将其作为数字使用 let 而不将其保存到内存中。
在node.js
> var name = 12;
> console.log(typeof name);
number
在 Firefox 的网络控制台中
var name = 12;
console.log(typeof name);
string
let name2 = 12;
console.log(typeof name2);
number
为什么 Firefox 中的 var
和 let
有区别?
为什么 node.js 没有这样的区别?
window
上有一个名为 name
的内置 属性:
console.log(name);
因此您的代码将寻找它,而不是您创建的 name
。
在我看来,从输出来看,node.js 不会像 Firefox 的 Web 控制台那样启动解释器的工作 - 这意味着在 node.js 中类似于它识别为数字的编译语言。 在 Firefox 的 Web 控制台中,它使用 var 将“12”作为字符串保存到内存中,或者仅将其作为数字使用 let 而不将其保存到内存中。