DE

Size: a a a
DE
DE
p
p
DE
DE
DE
DE
p
p
В
function Foo() {
this.prop1 = 1;
this.prop2 = 2;
}
let foo = new Foo();
foo.prop1 // принадлежит самому объекту
foo.hasOwnProperty // не принадлежит объекту foo, поиск продолжится в прототипе foo.__proto__.__proto__
// так как сам foo.__proto__ пуст, там есть только свойство constructor, свойство будет искаться в прототипе прототипа, а это прототип обычного объекта и там есть hasOwnProperty
S
function Foo() {
this.prop1 = 1;
this.prop2 = 2;
}
let foo = new Foo();
foo.prop1 // принадлежит самому объекту
foo.hasOwnProperty // не принадлежит объекту foo, поиск продолжится в прототипе foo.__proto__.__proto__
// так как сам foo.__proto__ пуст, там есть только свойство constructor, свойство будет искаться в прототипе прототипа, а это прототип обычного объекта и там есть hasOwnProperty
DE
DE
DE
p
p
function Foo() {
this.prop1 = 1;
this.prop2 = 2;
}
let foo = new Foo();
foo.prop1 // принадлежит самому объекту
foo.hasOwnProperty // не принадлежит объекту foo, поиск продолжится в прототипе foo.__proto__.__proto__
// так как сам foo.__proto__ пуст, там есть только свойство constructor, свойство будет искаться в прототипе прототипа, а это прототип обычного объекта и там есть hasOwnProperty