首页前端开发正文

构造函数实例有constructor属性吗?

朱绪2021-10-30794JavaScript

我们来看个例子:

function Person() {

}
var person = new Person();
console.log(person.constructor === Person) //true

其实person实例并没有constructor属性。

当我们试图读取person.constructor的时候,没读到constructor属性,会从person的原型(即“Person.prototype”)中读取,而原型中自然是有这个属性的。

于是就有:

person.constructor === Person.prototype.constructor