JavaScript で
A && B
と書いた場合、 A の値が Falsy だと A の値そのものが返ってくる。
例えば以下のような感じ。
console.log(undefined && true);
>> undefined
返り値をboolean
に固定したければ、否定演算子!
を二つ重ねて
console.log(!!undefined && true);
>> false
とすれば良い。
undefined
ではなく!!undefined
とする意味がわからなかったのでメモ。