Любая разница между x || [] и х ?? [] в javascript?

Я видел оба x || [] а также x ?? []используется для предоставления запасного значения, если x равен нулю. Есть ли случаи, когда эти два результата дают разные результаты?

3 ответа

Если x было ненулевым ложным значением, оно было бы другим.

Они делают разные вещи.

??называется нулевым оператором объединения https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Nullish_coalescing_operator

И работает, проверяя, является ли левая часть оценки нулевой или неопределенной, и если это не так, назначает правую часть оценки.

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

||это логический оператор https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Logical_OR

В logical operatorработает как любой другой логический оператор. Оценим левую, а затем правую сторону

Эти выражения и являются логическими присвоениями в Javascript.

используется для представления пустых или неопределенных случаев, в то время как представляет, есть ли или есть.

  • x ?? [] работает, оценивая, является ли левая часть выражения нулевой или неопределенной.

  • x || [] работает, оценивая, есть ли true. Если aверно, продолжайте в операторе if. Если b верно, продолжайте в операторе if.

Другие вопросы по тегам