Метод быстрого доступа к значению?значение:»»

#javascript #reactjs

#javascript #reactjs

Вопрос:

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

Это ( имя = значение ? значение: «» ) выражение становится очень длинным. Есть ли какая-либо альтернатива этому выражению?

Ответ №1:

 name = value ? value: ""
  

(почти всегда) эквивалентно:

 name = value || ''
  

Но имейте в виду, что это превратит ложные (но не неопределенные) значения, такие как 0 и NaN , в пустую строку для name .

Ответ №2:

Вы должны быть в состоянии справиться с этим как name = name || "" , который может быть сокращен до name ||= ""

Комментарии:

1. Это потребовало бы, чтобы OP сначала присвоил значение value to name

2. Упс, да, вы правы, я неправильно истолковал и пропустил value часть вопроса. Размышляя в терминах аргумента функции и убедившись, что он установлен, я вместо этого проголосовал за ваш ответ

Ответ №3:

Для этого вы можете использовать нулевой оператор объединения.

 name = value ?? "";
  

Но имейте в виду, что поддержка этой функции доступна не во всех браузерах.

Дополнительная информация в MDN- https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Nullish_Coalescing_Operator