浏览器和终端(节点)中的console.log(typeof)

时间:2020-03-06 17:05:02

标签: javascript html node.js

当运行带有终端节点的sample.js文件时

var name = 12;
console.log( typeof name )
//number

但在浏览器控制台中有所不同

var name = 12;
console.log( typeof name )
//string

为什么有区别?!

1 个答案:

答案 0 :(得分:5)

namewindow和字符串的属性。

在控制台中设置name时,实际上是在设置window.name的值,该值将转换为字符串,如文档中所述:

window.name将使用toString方法将所有值转换为它们的字符串表示形式。

这种情况尤其发生,因为您要这样设置名称:

var name = 12;

在浏览器中使用var name =且没有其他任何作用域与编写window.name =相同。

但是,如果要使用constlet来声明name,则name不适用于全局范围,即window,它将是预期的类型:

const name = 4;
console.log(typeof name)