Получение значений атрибутов свойств

Метод propertyIsEnumerable(<Имя свойства>) из класса Object возвращает значение true, если указанное свойство является перечислимым (свойство можно перебирать с помощью цикла for...in), и false — в противном случае:

let obj = Object.create(Object.prototype, {
   'a': {
      value: 10,
      enumerable: true
   },
   'b': { value: 22 }
});
console.log( obj.propertyIsEnumerable('a') ); // true
console.log( obj.propertyIsEnumerable('b') ); // false
console.log( obj );                           // { a: 10 }

Получить объект (дескриптор) со всеми атрибутами собственного свойства объекта <Объект> позволяет статический метод getOwnPropertyDescriptor(<Объект>, <Имя свойства>) из класса Object. Если свойство не найдено, но метод вернет значение undefined. Пример:

let obj = Object.create(Object.prototype, {
   'a': {
      value: 10,
      writable: true,
      configurable: true,
      enumerable: true
   },
   'b': { value: 22 }
});
let d = Object.getOwnPropertyDescriptor(obj, 'a');
console.log(d);
// { value: 10, writable: true, enumerable: true, 
// configurable: true }
d = Object.getOwnPropertyDescriptor(obj, 'b');
console.log(d);
// { value: 22, writable: false, enumerable: false, 
// configurable: false }
d = Object.getOwnPropertyDescriptor(obj, 'c');
console.log(d); // undefined

Статический метод getOwnPropertyDescriptors(<Объект>) из класса Object возвращает объект со всеми собственными свойствами объекта <Объект> и их атрибутами. Если объект не содержит собственных свойств, то метод вернет пустой объект. Пример:

let obj = Object.create(Object.prototype, {
   'a': {
      value: 10,
      writable: true,
      configurable: true,
      enumerable: true
   },
   'b': { value: 22 }
});
let o = Object.getOwnPropertyDescriptors(obj);
console.log(o);
/*
{
   a: { value: 10, writable: true, enumerable: true,
        configurable: true },
   b: {
     value: 22,
     writable: false,
     enumerable: false,
     configurable: false
   }
} */
obj = {};
o = Object.getOwnPropertyDescriptors(obj);
console.log(o); // {}

Учебник по Node.js и JavaScript
Учебник по JavaScript (Node.js) в формате PDF

Помощь сайту

ЮMoney (Yandex-деньги): 410011140483022

ПАО Сбербанк:
Счет: 40817810855006152256
Реквизиты банка:
Наименование: СЕВЕРО-ЗАПАДНЫЙ БАНК ПАО СБЕРБАНК
Корреспондентский счет: 30101810500000000653
БИК: 044030653
КПП: 784243001
ОКПО: 09171401
ОКОНХ: 96130
Скриншот реквизитов