JavaScript — это язык с динамической типизацией, и объекты в нём могут изменять свою структуру во время выполнения программы. Это даёт огромную гибкость, но также требует от разработчика особого внимания при доступе к свойствам объектов. Обращение к несуществующему свойству не вызовет ошибку (в отличие от многих других языков), а вернёт undefined, что может привести к трудноуловимым ошибкам и некорректной работе приложения. Рассмотрим основные методы, которые помогут безопасно работать со свойствами объектов. Оператор in проверяет, есть ли свойство с указанным именем в объекте (включая свойства, унаследованные через цепочку прототипов). Этот метод проверяет, содержит ли объект свойство с указанным именем как собственное (не унаследованное). Самый простой, но потенциально опасный способ. Если свойство существует, но содержит значение undefined, этот метод даст ложный результат. Современный синтаксис (ES2020), который позволяет безопасно обращаться к вложенным свойствам, не проверяя к