JavaScriptの論理積と論理和を使ったプログラミング
JavaScriptの論理積(&&
)と論理和(||
)の動作を利用して、プログラミングを簡潔に記述することができます。本記事ではその動作について解説します。
論理積(&&)について
&&
演算子は左から右に向けて評価した際に最初の偽値のオペランドに遭遇したときにはその値を、またはすべてが真値であった場合は最後のオペランドの値を返します。
param1 && param2
上記の場合、param1
が偽値であれば、param1
を返し、それ以外の場合はparam2
を返します。
let param1 = 'param 1';
let value = param1 && 'default value';
console.log(value); // 'default value'
let param1 = '';
let value = param1 && 'default value';
console.log(value); // ''
let param1 = undefined;
let value = param1 && 'default value';
console.log(value); // undefined
論理和(||)について
||
演算子は指定されたオペランドのうち1つの値を返すので、この演算子が論理値以外で使用された場合は、論理値以外の値を返すことになります。
param1 || param2
上記の場合、param1
がtrue
に変換できる場合はparam1
を返し、それ以外の場合はparam2
を返します。この動作を利用して、デフォルト値の設定などが簡潔に記述できます。
デフォルト値を
||
演算子の左側におくと、必ずデフォルト値が利用されてしまうので注意してください。let param1 = 'param 1';
let value = param1 || 'default value';
console.log(value); // 'param 1'
let param1 = undefined;
let value = param1 || 'default value';
console.log(value); // 'default value'