Необязательный оператор изменения будет продолжать движение по пути, пока не достигнет значения свойства или не столкнется с ошибкой:
пусть сотрудник знак равно {Имя : 'Джон' ,
фамилия : 'Доу' ,
Возраст : 3. 4
} ;
приставка. журнал ( работник. адрес ? . молния ) ;
Если бы мы попытались получить доступ к тому же значению свойства без использования необязательного оператора цепочки, мы бы получили ошибку:
пусть сотрудник знак равно {
Имя : 'Джон' ,
фамилия : 'Доу' ,
Возраст : 3. 4
} ;
приставка. журнал ( работник. адрес . молния ) ;
Необязательная цепочка вызовов методов
Необязательная цепочка также работает с вызовами методов. Вы можете использовать необязательную цепочку, когда не уверены, существует ли метод внутри объекта. Примером использования являются данные, полученные из API, которые могут содержать или не содержать определенные функции в зависимости от устройства пользователя:
пусть сотрудник знак равно {
Имя : 'Джон' ,
фамилия : 'Доу' ,
Возраст : 3. 4
} ;
приставка. журнал ( работник. метод ? . ( ) ) ;
Без дополнительной цепочки:
пусть сотрудник знак равно {
Имя : 'Джон' ,
фамилия : 'Доу' ,
Возраст : 3. 4
} ;
приставка. журнал ( работник. метод ( ) ) ;
Необязательный оператор цепочки также можно использовать несколько раз в одном операторе, чтобы избежать ошибок.
Объединение необязательных цепочек с нулевым оператором объединения
Необязательная цепочка также может быть соединена с ?? оператор для предоставления значения по умолчанию в случае, если свойство или метод не существует:
пусть сотрудник знак равно {Имя : 'Джон' ,
фамилия : 'Доу' ,
Возраст : 3. 4
} ;
приставка. журнал ( работник. метод ? . ( ) ?? «Функции не существует» ) ;
Значение по умолчанию также может быть вызовом какой-либо функции.
Необязательное чрезмерное использование цепочки
Необязательная цепочка была введена для повышения удобочитаемости и элегантности кода. Его следует использовать осторожно, так как это может привести к замалчиванию ошибок. Чрезмерное использование необязательного оператора цепочки может вызвать проблемы в вашем коде.
Вывод
Необязательная цепочка — это недавно добавленная функция JavaScript, которую можно использовать для доступа к свойствам и методам внутри глубоко вложенных объектов JavaScript, не беспокоясь о ручной проверке существования этих методов и свойств.