😄
[メモ]: ??と||演算子のメモ
??と||ような演算子のメモ
たまに使用するときに間違えるので簡単なメモ
??
- ECMAScript2020(ES11)で追加された比較的新しい文法
- 左辺の値が
nullかundefinedのときだけ右辺の値を返す - 基本は左辺の値を返す
const result = user ?? "John Doe";
// userがnull | undefinedのときはJohn Doe"
// それ以外はuserを返す
||
- 論理和演算子
- オペランドの値が1つでも
trueがある場合、trueになる。 -
false,0,"",NaN,nullまたはundefinedはfalseになる - 最初の真の値を返す
const firstName = "John"
const lastName = "Doe";
const isNameLongerThanZero = firstName.length > 0 || lastName.length > 0
&&
- 論理積演算子
- オペランドの値がすべて
trueであればtrue、それ以外はfalseを返す - AND演算子はOR演算子よりも優先順位が高い
- すべてのオペランドが
trueであれば最後のオペランドの値を返す
const isLogin = session && session.user;
参考
最後に
間違っていることがあれば、コメントに書いていただけると幸いです。
よろしくお願いいたします。
Discussion