Привет, искатели! Надеюсь, у вас все хорошо. Сегодня мы узнаем о новой функции javascript, которая является необязательной цепочкой (ECMA SCRIPT 2020).

Мы, как разработчики, всегда беспокоимся о проверках NULL. Для многих или большинства разработчиков писать дополнительный код - это кошмар. Недавно я работал над устаревшей кодовой базой и запутался в нулевых проверках. Я имею в виду, почему мой код выглядит таким неопрятным. Поскольку мы работаем над REST API, он в значительной степени вложен. Эти нулевые проверки закончились бы адом нулевых проверок.

Да, вы правы, это Optional Chaining. Необязательная цепочка изменяет способ доступа к свойствам из плоских или глубоко вложенных объектов и массивов.

Он также устраняет проблему наличия нескольких проверок NULL при доступе к длинной цепочке свойств объекта в JavaScript.

хорошо, хорошо, я тебя понял .. !!!

const superHero = {
 name: 'Batman',
 realName: {
   firstName: 'Bruce',
   lastName: 'Wayne'
 }
 cars: [5],
 height: 189,
 gender: 'male',
 powerLevel: 10000
}

Традиционный способ

Если я хочу получить доступ к lastName и не уверен, что я получу свойства на том же уровне или если у объекта нет свойств realName.

const superHero = {
 name: 'Batman',
 cars: [5],
 height: 189,
 gender: 'male',
 powerLevel: 10000
}
const getValue = superHero.realName.lastName
console.log(getValue) // ERROR code abruptly terminated.

Мы справимся с этим.

const getValue = (superHero.realName && superHero.realName.lastName) ? superHero.realName.lastName : undefined

Немного неопрятно, мы можем написать это лучше.

const propNeeded = obj?.prop1?.prop2?.anyProp // syntax 
const getValue1 = superHero?.realName?.lastName

Он выглядит лучше, и он будет проверять свойства на каждом уровне, где бы у нас ни было необязательное связывание, точно традиционным способом с чистым кодом.

Попробуйте сами написать код…

Оставайтесь с нами, чтобы узнать больше о javaScript Fun .. !!

Ура, кодирование… !!!