😄
[メモ]: ??と||演算子のメモ
??と||ような演算子のメモ
たまに使用するときに間違えるので簡単なメモ
??
- 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