У JavaScript ми маємо кілька способів отримати властивості об’єкта, залежно від того, що ми хочемо отримати.
1) Object.keys()
, який повертає всі власні, перелічені властивості об'єкта, метод ECMA5.
2) for...in
цикл, який повертає всі перелічені властивості об'єкта, незалежно від того, є вони власними властивостями або успадковані від ланцюжка прототипів.
3) Object.getOwnPropertyNames(obj)
який повертає всі власні властивості об'єкта, численні чи ні.
У нас також є такі методи, які hasOwnProperty(prop)
дозволяють нам перевірити, чи властивість передається у спадок або насправді належить цьому об’єкту, і propertyIsEnumerable(prop)
які, як випливає з назви, дозволяють перевірити, чи властивість перелічувана.
З усіма цими параметрами неможливо отримати незліченну, не власну властивість об’єкта, що я і хочу зробити. Чи є спосіб зробити це? Іншими словами, чи можу я якось отримати список успадкованих незліченних властивостей?
Дякую.