短縮表現(ショートサーキット評価)とは
短縮表現(ショートサーキット評価)とは、条件式で使われる論理演算子 && と || は 左側の値だけで結果が決まるとき、右側の評価をスキップするという特徴があります。これを利用して、条件に応じて処理をしたり、代替値を設定したりすることができます
&&
&&は左から順に評価し、falsy を見つけたらそこまでの値を返します。
全部truthyなら最後の値を返します。
イメージ
A && B
// まず A を評価(値をチェック)する
// A が falsy(偽とみなされる値)なら → A を返す(右は見ない)
// A が truthy(真とみなされる値)なら → 次に B を評価して返す
具体例
const result1 = 0 && "右の値";
// 0は偽扱いなので、右は評価されず、0が返る
const result2 = "猫" && "犬";
// "猫"は真扱いなので、右の"犬"を評価して返す → "犬"
||
||は左から順に評価し、最初に truthy を見つけたらそこまでの値を返します。
全部falsyなら最後の値を返します。
A || B
// まず A を評価(値をチェック)する
// A が truthy(真とみなされる値)なら → A を返す(右は見ない)
// A が falsy(偽とみなされる値)なら → 次に B を評価して返す
const result1 = 0 || "右の値";
// 0 は falsy(偽扱い)なので、右の "右の値" を評価して返す → "右の値"
const result2 = "猫" || "犬";
// "猫" は truthy(真扱い)なので、右は評価されず、"猫" が返る