Необязательная цепочка в Javascript

Хотя необязательная цепочка существует уже некоторое время во многих языках программирования, она только недавно стала доступна в Javascript с выпуском ES2020. MDN Web Docs описывает необязательную цепочку как «способ упростить доступ к значениям через подключенные объекты, когда возможно, что ссылка или функция могут быть неопределенными или нулевыми». Необязательная цепочка - это очень ценный инструмент, который позволяет вам получить доступ к глубоко вложенным свойствам объекта, не вызывая ошибки, если свойство не существует. Либо свойство существует и к нему можно получить доступ, либо оно не существует, и вместо него будет возвращено значение undefined. До того, как в Javascript появилась необязательная цепочка, оператор && должен был проверять, является ли объект неопределенным или нулевым, прежде чем обращаться к его свойствам.

const street = restaurant && restaurant.address && restaurant.address.street

const street = restaurant?.address?.street

const street = restaurant.address.street
Uncaught TypeError: Cannot read property 'street' of undefined

const tableCount = restaurant.getTableCount && restaurant.getTableCount()
const tableCount = restaurant.getTableCount?.()

const firstRestaurant = array && array[0]
const firstRestaurant = array?.[0]

Необязательная цепочка - это чистый, динамический и читаемый способ предотвращения ошибок и доступа к свойствам, когда мы не уверены, определен ли объект.

Источники:

  • https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Optional_chaining
  • https://dmitripavlutin.com/javascript-optional-chaining/
  • https://www.youtube.com/watch?v=v2tJ3nzXh8I&t=0s

Suggested posts

Как избежать разрушительных последствий инсульта: уроки семейного опыта.

Как избежать разрушительных последствий инсульта: уроки семейного опыта.

Введение Инсульт — это неотложная медицинская помощь, которая может случиться с кем угодно в любое время. Это происходит, когда приток крови к части мозга нарушается, что приводит к внезапной потере функции мозга.

Мои наиболее используемые ресурсы кодирования

Мои наиболее используемые ресурсы кодирования

На этой неделе я получил электронное письмо от участника ежедневного списка рассылки. Они хотели знать: какие ресурсы вы посещаете ежедневно, еженедельно и ежемесячно? Отличный вопрос! Я рад поделиться некоторыми мыслями о моем рабочем процессе и основных ресурсах, которые я использую.

Related posts

Опасные разговоры

Опасные разговоры

Если мы хотим продолжать процветать на этой планете, нам придется вести опасные разговоры. Те, которые бросают вызов тому, что мы сделали, что мы делаем и что мы в настоящее время собираемся продолжать делать (или планируем делать).

Ковбойская ложь

Как мегакорпорации продали американцам мохнатую ложь

Ковбойская ложь

Это ярко-золотое утро в холмистой местности на западе, когда первые лучи солнечного света освещают инеистую траву на равнинах. Стадо безмятежных ангусских коров, угольно-черных и массивных, вырисовывается на фоне восхода солнца, когда они идут по проторенной тропе к месту, которое они все хорошо знают; барная стойка.

БЕЗГРАНИЧНАЯ ЖИЗНЬ

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

Обучение на рабочей неделе важнее, чем вы думаете

Обучение на рабочей неделе важнее, чем вы думаете

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