Любая разница между x || [] и х ?? [] в javascript?
Я видел оба
x || []
а также
x ?? []
используется для предоставления запасного значения, если x равен нулю. Есть ли случаи, когда эти два результата дают разные результаты?
3 ответа
Они делают разные вещи.
??
называется нулевым оператором объединения 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.