Как проверить, является ли свойство собственным или унаследованным?
СобеседованиеПрототипы и классыОбъекты
obj.hasOwnProperty(prop) — проверяет, является ли свойство собственным (не унаследованным)
Object.hasOwn(obj, prop) — современная альтернатива hasOwnProperty() (ES2022)
prop in obj — проверяет наличие свойства в объекте или его прототипах
Object.keys(), Object.values(), Object.entries() — возвращают только собственные свойства
for...in перебирает все перечисляемые свойства, включая унаследованные