104просмотров
9 декабря 2024 г.
questionScore: 114
🍀 Оператор опциональной цепочки (?.) 1. Что это?: Это специальный оператор в JavaScript, который позволяет безопасно проверять, существует ли объект или его свойство перед тем, как к нему обратиться. 2. Как работает? : - Если объект или свойство не существует, он просто возвращает undefined, вместо того чтобы вызывать ошибку. - Пример: let user = { name: 'Аня', address: { city: 'Москва' } }; console.log(user.address?.city); // 'Москва' console.log(user.phone?.number); // undefined (не вызовет ошибку) Опциональная цепочка ?. останавливает вычисление и возвращает undefined, если значение перед ?. равно undefined или null. 3. Зачем это нужно?: - Упрощает код, избегая множественных проверок, таких, например, как: let user = { name: 'Аня', address: { city: 'Москва' }
}; // Получаем город с проверками
console.log(user.address && user.address.city); // 'Москва' // Получаем номер телефона с проверками
console.log(user.phone && user.phone.number); // undefined (не вызовет ошибку) Проход при помощи логического оператора И && через весь путь к свойству гарантирует, что все компоненты существуют (если нет, вычисление прекращается), но также не является идеальным.
Один из минусов, это то, что имена свойств дублируются в коде. Например, в приведённом выше коде user.phone появляется два раза. - Помогает избежать ошибок, если объект или его свойства не существуют.
Так например, в записи user.address.phone?.value, в примере выше ?. позволяет phone безопасно быть null/undefined (и в этом случае возвращает undefined), но это так только для phone. Доступ к последующим свойствам осуществляется обычным способом. Если мы хотим, чтобы некоторые из них были необязательными в объекте user, тогда нам нужно будет заменить больше . на ?.. #javascript
#angular
#frontend
#programming 🐱 FrontEnd_Xpert