Это делается для присвоения значения по умолчанию , в этом случае значение y
, если переменная x
является falsy .
Логические операторы в JavaScript могут возвращать операнд, а не всегда логический результат, как и на других языках.
Логический оператор OR (||
) возвращает значение своего второго операнда, если первый один является ложным, в противном случае возвращается значение первого операнда.
Например:
"foo" || "bar"; // returns "foo"
false || "bar"; // returns "bar"
Значения Falsy - это те, кто принуждает false
при использовании в булевом контексте, и они 0
, null
, undefined
, пустая строка, NaN
и, конечно, false
.