一个问题。为什么如果任何对象是使用构造函数创建的,那么__proto__它必然包含функция-конструктор.prototype?
function NewObj() {};
let a = new NewObj;
console.log(a.__proto__ == NewObj.prototype); //true
点后指示的实际含义是什么prototype?我问这个是因为它就像......prototype一个构造函数包含一个属性constructor,而该属性又包含对同一个构造函数的引用。那么,实际上连续两次引用同一个构造函数有什么意义呢?
例如,为什么这样的记录会产生false?
function NewObj() {};
let a = new NewObj;
console.log(a.__proto__ == NewObj);
NewObj.prototype通常用作由构造函数创建的所有实例共享的数据或方法的存储。这个NewObj.prototype被自动分配为创建实例的原型,在原型链中搜索不直接存在于实例中的属性。也就是说,虽然默认情况下那里只有一个属性.constructor,但您可以在那里添加任何内容。它通常是这样工作的:有关详细信息,请参阅以下部分:https ://learn.javascript.ru/prototypes