«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Как получить унаследованные неперечислимые свойства в JavaScript?

Как получить унаследованные неперечислимые свойства в JavaScript?

Опубликовано 13 ноября 2024 г.
Просматривать:771

How to Retrieve Inherited Non-Enumerable Properties in JavaScript?

Извлечение унаследованных неперечислимых свойств

В JavaScript доступ к свойствам объекта основан на различных методах, адаптированных к конкретным требованиям. Однако когда дело доходит до получения неперечислимых, чужих свойств, простого механизма не существует.

Для решения этой проблемы можно использовать специальную функцию, которая объединяет Object.getOwnPropertyNames() для получения неперечислимых свойств. и проходит по цепочке прототипов для получения унаследованных.

function getAllProperties(obj) {
  var allProps = [], curr = obj;
  do {
    var props = Object.getOwnPropertyNames(curr);
    props.forEach(function(prop) {
      if (allProps.indexOf(prop) === -1)
        allProps.push(prop);
    });
  } while (curr = Object.getPrototypeOf(curr));
  return allProps;
}

console.log(getAllProperties([1, 2, 3]));

В этом примере [1, 2, 3] является унаследованным свойством, и функция успешно извлекает его, не наследуя его статус перечисления. Этот подход дает разработчикам возможность доступа к неперечисляемым наследуемым свойствам, что имеет решающее значение для определенных сценариев, включающих прототипы и наследование объектов.

Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3