Страницы

Поиск по вопросам

среда, 6 марта 2019 г.

Что такое перечисляемые и неперечисляемые свойства объектов?

В книге Дэвида Флэнагана в главе "Свойства и методы универсального класса Object" столкнулся с термином перечисляемые и не перечисляемые свойства. Раз есть перечисляемые свойства значит есть и не перечисляемые свойства. Хотелось бы узнать что это за свойства и чем отличаются. В интернете не нашел по этой теме ничего подходящего. Поэтому прошу помощи здесь. Всем заранее спасибо.

Выдержка из книги:
Обратите внимание: все свойства объекта, определяемые пользователем, являются перечислимыми. Неперечислимыми обычно являются унаследованные свойства (тема наследования свойств рассматривается в главе 9), поэтому практически всегда этот метод возвращает то же значение, что и метод hasOwnProperty()


Ответ

В цитате речь идет о свойствах объекта.
Они могут быть перечислимыми, и не перечислимыми.
Если свойство перечислимое, то при обходе в цикле for..in его можно будет получить, если не перечислимое - нельзя.
Например:
var o = { e: "prop" }; for (var i in o) { document.write('свойство "' + i + '" перечислимое'); } document.write('
свойство toString не перечислимое: '+o.toString)

Комментариев нет:

Отправить комментарий