Опциональная цепочка JSON
Часть раздела Логика и поток путешествия по JavaScript на Coddy — урок 24 из 65.
Опциональная цепочка (?.) позволяет безопасно обращаться к вложенным свойствам, не беспокоясь об ошибках, если свойство равно null или undefined.
Пример без опциональной цепочки:
let obj = {};
console.log(obj.key1.key2);
// Ошибка: Невозможно прочитать свойства undefinedПример с использованием опциональной цепочки (Optional Chaining):
let obj = {};
console.log(obj.key1?.key2);
// undefined (без ошибки)- Если
key1существует, он обращается кkey2. - Если
key1имеет значениеnullилиundefined, он возвращаетundefinedвместо того чтобы вызывать ошибку.
Ещё примеры:
let user = {
profile: {
name: "Alice"
}
};
console.log(user.profile?.name);
// "Alice"console.log(user.profile?.age);
// undefined (без ошибки)console.log(user.address?.city);
// undefined (без ошибки)В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Шпаргалка
Опциональная цепочка (?.) безопасно обращается к вложенным свойствам без ошибок, если свойство равно null или undefined:
let obj = {};
console.log(obj.key1?.key2);
// undefined (без ошибки)Если свойство существует, происходит обращение к следующему уровню. Если оно равно null или undefined, возвращается undefined вместо того, чтобы вызывать ошибку.
let user = {
profile: {
name: "Alice"
}
};
console.log(user.profile?.name); // "Alice"
console.log(user.profile?.age); // undefined
console.log(user.address?.city); // undefinedПопробуйте сами
В этом уроке нет задания по программированию.
В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Логика и поток
1Строки в деталях
Основы работы со строкамиИтерация по строкамШаблонные литералыМетоды строкИтоги — String Weaver4JSON Часть 2
Итерация по JSONВложенный JSONОпциональная цепочка JSONПоверхностное и глубокое копированиеПовторение — Магазин велосипедовПовторение — Солнечная система7Система управления библиотекой
Обзор проектаДобавление книг10Управление системой фестиваля
Обзор проектаДобавление фильмов и площадок2Многомерные массивы
Основы 2D массивовДоступ к элементам 2D массиваВложенные циклы и 2D массивыПовторение: 2D массивыСложение и вычитание матрицСтупенчатые массивы3D массивы и далееРаспространенные паттерны 2D массивовПовторение: всё о массивах5Множества. Часть 1
Что такое множество?Итерация по множествамДобавление элементаУдаление элементаПроверка наличия элементаРазмер и проверка на пустотуКопирование и очисткаИтоги — Основы множеств8Интересные темы о массивах
Деструктуризация массивовСинтаксис Spread в массивахРазреженные массивыИтоги — Воркшоп по массивам3JSON. Часть 1
Что такое JSON?Проверка наличия ключаМетоды объектовОператор spread. Часть 1Оператор spread. Часть 2Удаление ключейПовторение: манипуляции с ключами JSON