javascript - 如何理解 Object.hasOwnProperty ("constructor")

标签 javascript

我是 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/

相关文章:

java - HTML/CSS 为什么版权标志没有被正确解释?

javascript - 如何在 Angular 应用程序中制作自定义上下文菜单?

javascript - 当你没有积累任何东西时,什么是减少使用

javascript - 使用 jQuery 在 javaScript 中维护函数执行的顺序

Javascript 数组?

javascript - 为什么 window.onload 有效而 onload =""不起作用

javascript - 使用 ES6 promise 读取文件

javascript - 获取简短的 JavaScript CustomEvent polyfill 以在 TypeScript 中进行编译?

javascript - 容器内的固定 div

javascript - 文件结构的最佳实践 - 使用 Request 模块(Node.js + Express.js)