😄

[メモ]: ??と||演算子のメモ

に公開

??と||ような演算子のメモ

たまに使用するときに間違えるので簡単なメモ

??

  • ECMAScript2020(ES11)で追加された比較的新しい文法
  • 左辺の値がnullundefinedのときだけ右辺の値を返す
  • 基本は左辺の値を返す
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;

参考

最後に

間違っていることがあれば、コメントに書いていただけると幸いです。
よろしくお願いいたします。

GitHubで編集を提案

Discussion