はじめに
JavaScriptでは変数のデータ型それぞれに真偽っぽいのが設定されており、それぞれ truthy/falsy と呼ばれている。らしい。
それと論理演算子を利用して変数に値を設定することがあるようだが、全然覚えられなさそうだったため一旦検証した。
検証
以下のval1 / val2にそれぞれ truthy/falsy な値を入れた際、 result1/result2 の値が val1/val2どちらになったかまとめる。
//ORの検証
const result1 = val1 || val2;
//ANDの検証
const result2 = val1 && val2;
結果 : result1 = val1 || val2
| val1 \ val2 | truethy | falsy |
|---|---|---|
| truethy | val1 | val1 |
| falsy | val2 | val2 |
結果 : result2 = val1 && val2
| val1 \ val2 | truethy | falsy |
|---|---|---|
| truethy | val2 | val2 |
| falsy | val1 | val1 |
結論
val1の truthy/falsy に注目し、ORならval1、ANDならval2の値を適用すれば良さそう。