Как узнать, имеется ли конкретное свойство у объекта в JavaScript?

Узнать наличие свойства в объекте JS

Важно понимать, как правильно проверить, присутствует ли у объекта нужное свойство. В данный момент я применяю такой метод:

let person = {'age': 25};
if (person.hasOwnProperty('age')) {
    console.log('Свойство обнаружено');
}

Есть ли другие варианты для выполнения этой задачи? Буду рад узнать альтернативные способы проверки, чтобы использовать их в разных ситуациях.

я делаю Object.keys(person).includes('age') когда нужно проверить только собственные свойства. медленнее hasOwnProperty, но читается понятно. еще вариант - const {age = null} = person; if (age !== null) - но только когда точно знаешь что ищешь. в консоли быстро проверяю через !!person.age

Я использую Object.prototype.hasOwnProperty.call(person, 'age') вместо обычного hasOwnProperty - работает надежнее с объектами из Object.create(null). В новых браузерах есть Object.hasOwn(person, 'age') - делает то же самое, но выглядит чище. Выбор зависит от поддержки старых браузеров.

Еще можно использовать оператор in - 'age' in person. Он ищет не только в собственных свойствах, но и в прототипной цепочке. Или можно просто проверить person.age !== undefined, но будь осторожен, если значение может быть как раз undefined. Какой у тебя случай использования?