Вопросы к Поиску с Алисой
Особенность работы цикла for…in в JavaScript заключается в том, что он выполняет обход перечисляемых свойств объекта, включая перечисляемые свойства прототипов. doka.guide
В каждой итерации цикла переменная цикла получает значение, соответствующее имени перечисляемого свойства объекта. doka.guide В переборе участвуют только перечисляемые свойства, то есть те, которые были добавлены при написании программы, встроенные из обхода исключаются. learnjs.ru
Порядок обхода свойств строго определён спецификацией ECMAScript: doka.guide
Использовать цикл for…in для перебора массивов не рекомендуется, так как он итерирует по всем перечисляемым свойствам, включая свойства из прототипа. javarush.com