Привет, искатели! Надеюсь, у вас все хорошо. Сегодня мы узнаем о новой функции 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 .. !!