取消设置<object> .prototype.constructor

时间:2015-04-27 08:32:01

标签: javascript node.js prototype

在JavaScript中,当我定义一个新函数

function Foo () { /* code */ }

此函数的原型设置为一个新对象,该对象的constructor设置为新创建的函数本身,所以

Foo.prototype.constructor === Foo

这种行为在ECMAScript规范中以及更人性化的MDN都有详细描述。

这个属性是否只是用于获取构造函数的友好快捷方式?

例如,如果我要

delete Object.prototype.constructor

(我可以,因为,至少在Node.js中,属性被定义为可写可配置),我在某种程度上影响了语言&#39;的功能?

经过一些基本测试后,它似乎不会影响定义创建新对象,因为为我创建的每个新函数/对象正确定义了属性。

  

注意:我知道这可能会破坏第三方代码 - 我只对核心语言的功能感兴趣。

0 个答案:

没有答案