🎉

JavaScript / 短絡評価あれこれ

2025/01/11に公開

短絡評価とは

短絡評価(Short-Circuit Evaluation)とは、論理演算子が左側の式だけで結果が確定する場合に、右側の式を評価せずにスキップする評価の仕組み

メリット

1 パフォーマンスの向上

条件が満たされている場合、右側のコードを評価しないため、不要な計算を省ける。

2 安全性の向上

オプショナルチェイニングやフォールバック値を使った安全な記述が可能。

null合体演算子(??)

nullもしくはundefindの時に右辺が代入される

let hello;
let greeting = hello ?? "Hello World";
console.log(greeting);
// > Hello World

論理和(||)

null,undefindの他にもfalseyな値の時も右辺が代入

falseyな値

  • false
  • 0(ゼロ)
  • -0(マイナスゼロ)
  • ""(空文字列)
  • null
  • undefined
  • NaN(非数)
let hello = false;
let greeting = hello || "Hello World";
console.log(greeting);
// > Hello World

オプショナルチェイニング(?.)

オブジェクトのプロパティにアクセスする際、null または undefined があるとエラーが発生する。
オプショナルチェイニングを使うことで、エラーを防ぐことができる。
これにより、全体の処理がストップするのを防ぐことができる。

const person = {
  name: 'John',
  address: {
    city: 'New York'
  }
};

console.log(person.address?.city);  // "New York"
console.log(person.phone?.number);  // undefined(person.phoneがundefinedだからエラーではなくundefinedが返る)

まとめ

プログラミング学ぶ上で、記法というものはできるだけ押さえておいた方がいいと思う。
スマートかつ安全に記述することも大事だが、コードリーディングがそもそも出来ないなんてことを未然に防ぐことができる。
やっぱりプログラミングは暗記モノでは無いと実感。

Discussion