someFunction.Prototype.constructor vs someFunction.constructor

dop*_*ude 1 javascript constructor prototype

我知道JavaScript中的函数首先导致函数的双重生命(作为创建实例的第一类)和普通对象的第二个函数.

但我很惊讶看到以下控制台的输出.

function A() {
    console.info("A");
}
console.info(A.prototype.constructor === A.constructor); // false
Run Code Online (Sandbox Code Playgroud)

我期望它是真实的,因为我不期望constructor对象的属性,A因为它是自己的属性.因此,在原型链查找后,它应该是同一个对象A.prototype.constructor.我错在哪里或者我遗失了什么?

Ber*_*rgi 5

我错在哪里或者我遗失了什么?

A不是继承A.prototype.A是一个(构造函数)函数,并继承自Function.prototype.做一个console.log(Object.getPrototypeOf(A)):-)

A.prototype唯一new A实例都继承(其.constructorA).另见__proto__ VS. JavaScript中的原型.