Здесь я создал экземпляр родительского класса и определил свойство, называемое smile на самом объекте. Я знаю, что свойство, определенное в прототипе конструктора, не является собственностью объекта. Но как получилось, что свойство «smile» не прошло проверку hasOwnProperty внутри внутри цикла?Почему свойство, определенное после создания объекта, не является собственностью.
function Parent(){
this.name='parent';
}
Parent.prototype.age='34';
var p=new Parent();
p.smile='nice'; // not an own property ?
console.log(p);
for(var prop in p){
if(Object.hasOwnProperty(prop)){
console.log(prop); // prints only "name"
}
}