Незадължителният оператор за промяна ще продължи по пътя, докато достигне стойност на свойството или се сблъска с грешка:
нека служител = {първо име : 'Джон' ,
фамилия : 'Сърна' ,
Възраст : 3. 4
} ;
конзола. дневник ( служител. адрес ? . цип ) ;
Ако се бяхме опитали да получим достъп до същата стойност на свойството, без да използваме незадължителния оператор за верижно свързване, тогава щяхме да получим грешка:
нека служител = {
първо име : 'Джон' ,
фамилия : 'Сърна' ,
Възраст : 3. 4
} ;
конзола. дневник ( служител. адрес . цип ) ;
Незадължително верижно свързване на извиквания на метод
Незадължителното верижно свързване също работи при извиквания на метод. Можете да използвате незадължително верижно свързване, когато не сте сигурни дали даден метод съществува в даден обект. Примерен случай на употреба са данни, извлечени от API, които могат или не могат да съдържат определени функции в зависимост от устройството на потребителя:
нека служител = {
първо име : 'Джон' ,
фамилия : 'Сърна' ,
Възраст : 3. 4
} ;
конзола. дневник ( служител. метод ? . ( ) ) ;
Без опционално свързване:
нека служител = {
първо име : 'Джон' ,
фамилия : 'Сърна' ,
Възраст : 3. 4
} ;
конзола. дневник ( служител. метод ( ) ) ;
Незадължителният оператор за верижно свързване може също да се използва многократно в рамките на един израз, за да се избегнат грешки.
Комбиниране на незадължително верижно свързване с оператора за обединяване Nullish
Опционалното верижно свързване също може да бъде сдвоено с ?? оператор за предоставяне на стойност по подразбиране в случай, че свойството или методът не съществуват:
нека служител = {първо име : 'Джон' ,
фамилия : 'Сърна' ,
Възраст : 3. 4
} ;
конзола. дневник ( служител. метод ? . ( ) ?? „Функцията не съществува“ ) ;
Стойността по подразбиране може да бъде и извикване на функция.
Незадължителна прекомерна употреба на верига
Беше въведено незадължително верижно свързване, за да се подобри четливостта и елегантността на кода. Трябва да се използва внимателно, тъй като може да доведе до заглушаване на грешки. Прекомерната употреба на незадължителния оператор за верижно свързване може да причини проблеми във вашия код.
Заключение
Незадължителното верижно свързване е наскоро добавена функция на JavaScript, която може да се използва за достъп до свойства и методи в дълбоко вложени обекти на JavaScript, без да се налага да се притеснявате за ръчни проверки за съществуването на тези методи и свойства.