Вопрос проверяет понимание обработки ошибок и отсутствующих данных в JavaScript, что необходимо для написания надежного кода.
В JavaScript отсутствующие элементы могут быть представлены как null, undefined или просто несуществующие свойства объекта. Обработка таких ситуаций критична для стабильности приложения, особенно при работе с данными из внешних источников (API, пользовательский ввод).
// Пример с опциональной цепочкой
const user = { name: 'Alice', address: null };
const city = user.address?.city; // undefined, без ошибки
// Пример с проверкой
if (user.address && user.address.city) {
console.log(user.address.city);
} else {
console.log('Адрес не указан');
}
// Пример с try...catch
let data;
try {
data = JSON.parse('{invalid json}');
} catch (error) {
console.error('Ошибка парсинга:', error.message);
data = {}; // значение по умолчанию
}
// Пример с оператором нулевого слияния
const timeout = config.timeout ?? 3000; // 3000, если config.timeout null/undefinedИспользуйте опциональную цепочку и оператор нулевого слияния для лаконичной обработки отсутствующих данных в современных проектах. Для более сложных сценариев (например, работа с внешними API) применяйте try...catch, чтобы гарантировать, что приложение не упадет из-за неожиданных ошибок.