В JavaScript у нас есть несколько способов получить свойства объекта, в зависимости от того, что мы хотим получить.
1) Object.keys()
, который возвращает все собственные перечислимые свойства объекта, метод ECMA5.
2) for...in
цикл, который возвращает все перечисляемые свойства объекта, независимо от того, являются ли они собственными свойствами или унаследованы от цепочки прототипов.
3), Object.getOwnPropertyNames(obj)
который возвращает все собственные свойства объекта, перечислимые или нет.
У нас также есть такие методы, которые hasOwnProperty(prop)
позволяют нам проверять, унаследовано ли свойство или действительно принадлежит этому объекту, и propertyIsEnumerable(prop)
которые, как следует из названия, позволяют нам проверять, является ли свойство перечислимым.
Со всеми этими опциями невозможно получить неперечислимое, не принадлежащее мне свойство объекта, что я и хочу сделать. Есть какой-либо способ сделать это? Другими словами, можно как-нибудь получить список унаследованных неперечислимых свойств?
Спасибо.