#javascript #reactjs
#javascript #reactjs
Вопрос:
В REACT мне иногда приходится проверять наличие переменной, если она существует. Затем я устанавливаю его в значение, если это значение существует, или в противном случае я устанавливаю его в качестве резервного значения.
Это ( имя = значение ? значение: «» ) выражение становится очень длинным. Есть ли какая-либо альтернатива этому выражению?
Ответ №1:
name = value ? value: ""
(почти всегда) эквивалентно:
name = value || ''
Но имейте в виду, что это превратит ложные (но не неопределенные) значения, такие как 0 и NaN
, в пустую строку для name
.
Ответ №2:
Вы должны быть в состоянии справиться с этим как name = name || ""
, который может быть сокращен до name ||= ""
Комментарии:
1. Это потребовало бы, чтобы OP сначала присвоил значение
value
toname
2. Упс, да, вы правы, я неправильно истолковал и пропустил
value
часть вопроса. Размышляя в терминах аргумента функции и убедившись, что он установлен, я вместо этого проголосовал за ваш ответ
Ответ №3:
Для этого вы можете использовать нулевой оператор объединения.
name = value ?? "";
Но имейте в виду, что поддержка этой функции доступна не во всех браузерах.
Дополнительная информация в MDN- https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Nullish_Coalescing_Operator