我是 JavaScript 的新手,有一个问题让我很困惑。
Object.constructor
是一个函数,但是 Object.hasOwnProperty("constructor") == false
。为什么?
我们知道Object的prev是null,可能是Object.prototype.__proto__ == null
。如何添加对象的“构造函数”属性?
最佳答案
Object.constructor
不是函数; Object.prototype.constructor
是,而Object
本身就是一个构造函数。来自MDN :
When called in a non-constructor context, Object behaves identically to new Object().
要查看,请尝试:
Object.hasOwnProperty("constructor") == false
Object.prototype.hasOwnProperty("constructor") == true
typeof Object == "function"
typeof (new Object) == "object"
关于javascript - 如何理解 Object.hasOwnProperty ("constructor"),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31363182/