Рубрики
Без рубрики

Как Оператор знак вопроса (?) работает в JavaScript

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

Оператор условного или вопросительного знака, представленный ? , является одной из самых мощных функций в JavaScript. ? Оператор используется в условных операторах, а когда соединен с : , может функционировать как компактная альтернатива Если ... еще заявления.

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

Три основных использования для вопросительного знака (?) В JavaScript:

  1. Темнарный оператор
  2. Дополнительное цепочка
  3. Nullish Coalescing

Мы посмотрим на каждый из них подробно, начиная с самого распространения, вы увидите ? Используется оператор – как тройной оператор.

1. Темнарный оператор

Термин тройное средство состоит из трех предметов или частей. ? Оператор также называется Тернарным оператором, потому что, в отличие от других операторов, таких как строгий равный ( === ) или остаток ( % ), это единственный, кто занимает три операнда.

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

Темнарный оператор в основном является ярлыком для традиционного Если ... еще утверждение.

Давайте сравним тройной оператор с более длинным Если ... еще утверждение:

Здесь тройник оператор занимает только одну строку кода, тогда как если... еще берет семь строк.

Использование тройного оператора гораздо эффективнее, верно?

2. Дополнительное цепочка

В 2020 году была введена потрясающая новая особенность, известная как необязательное цепочка.

Чтобы понять, как это работает, представьте себе этот сценарий.

Допустим, у вас есть код, который вызывает свойство объекта, которое не существует, которое вызывает ошибку во время выполнения. Это может быть из-за отсутствия или неопределенного значения в вашей базе данных или от API:

Благодаря дополнительным цепочкам вы можете просто вставить ? между именем свойства и периодом между следующей недвижимостью.

С этим это просто вернется undefined вместо того, чтобы выбрасывать уродливую ошибку.

Дополнительное цепочка по-настоящему является функцией изменения жизни для разработчиков JavaScript.

3. Nullish Coalescing

В некоторых случаях вы должны установить значение по умолчанию для отсутствующего имени или значения свойства.

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

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

Таким образом, когда приложение отображает данные, изображение по умолчанию будет там для городов без изображений.

Вы можете сделать это, используя

Но если вы используете Чтобы обеспечить значение по умолчанию, вы можете столкнуться с неожиданным поведением, если вы учитываете некоторые значения как можно использовать (например,или 0

Рассмотрим сценарий, где переменная имеет значение 0 или пустую строку. Если мы используем (

Вместо оператора логического или ( ) вы можете использовать двойные знаки вопросительных вопросов ( ??

Давайте учимся с примером.

const value1 = 0 || 'default string';
console.log(value1);


const value2 = '' || 1000;
console.log(value2);

Здесь у нас есть «0» и «строка по умолчанию» в вариабельном значении1. Если мы регистрируем его значение в консоли, мы получим «строку по умолчанию», что странно. Вместо строки по умолчанию мы должны получать 0, поскольку ноль не является неопределенным или нулевым. Итак, «

Точно так же это то же самое с Value2.

const value1 = 0 ?? 'default string';
console.log(value1);


const value2 = '' ?? 1000;
console.log(value2);

Но если мы заменим ‘ «С ' ??

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

Другими словами, ?? только позволяет неопределенный и null Значения, не пустые строки ( '' ) ИЛИ 0 s.

Заключение

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

Попробуй их их и дайте мне знать, как это происходит.

Счастливое обучение!

Оригинал: “https://www.freecodecamp.org/news/how-the-question-mark-works-in-javascript/”