为什么将变量“名称”键入为字符串?

时间:2019-06-07 09:38:36

标签: javascript

我对javascript并不陌生,但我根本不了解这种行为。

为什么将名为“ name”的变量仅键入为字符串?它具有ES6的新功能??

var name = 56;
console.log(name, typeof name);
name = function(){console.log("ok");}
console.log(name, typeof name);

1 个答案:

答案 0 :(得分:2)

name是全局对象window的属性,您不能替换它。

但是您可以delete,然后再次定义

delete window.name;

window.name = ()=>{console.log('ok')}

但是我不建议更改全局属性。

在节点环境中一切正常:

enter image description here