MDN состояния:JavaScript Перебор свойств объекта и цепочка прототипов
Кроме того, когда итерация свойств объекта, каждое перечислимы свойство, которое находится на цепочке прототипов будут перечислены.
Так что я попытался это:
var x = {a: "I am a"};
var z = Object.create(x);
for(i in z)
{
console.dir(i);
if(i == "hasOwnProperty") {
console.log('found hasOwnProperty');
}
}
Выходы только a
но не hasOwnProperty
. Зачем?
Спасибо. Что означает «перечислимый»? Возможно, это было мое недоразумение. –
Свойства @RobertRocha имеют некоторые внутренние флаги: [[Writable]], [[Enumerable]] и [[Configurable]]. Если свойство имеет флаг [[Enumerable]], установленный в 'true', он будет перечисляться перечислением for-in. См. [§8.6.1] (http://www.ecma-international.org/ecma-262/5.1/#sec-8.6.1) – Oriol
Спасибо ............... ... –