まさか && = AND | | = OR だと思ってるやついないよな?ww

スポンサーリンク
プログラミング

います。昨日までここにいました。

正確には上記の理解でも間違いではないですが、本当の意味を知っていた方が使い道が広がったり、他人のコードを見ても「ん??」となることが少なくなると思います。

const left = "左です";
const right = "右です";
const which = left && right;

console.log(which);

こちらの出力結果は何になると思いますか?

正解は「右です」。では次、

const which = left || right;

console.log(which);

こちらはどうでしょう。

正解は「左です」。

&& = AND | | = OR という理解だと、恐らく答えられないのではないかと思います。

&&と| |の本当の意味は、

&&・・・左がtrueなら右を返却

| | ・・・左がfalseなら右を返却

なのです。

数値や文字列の場合は0やnull以外はtrue判定となるので、&&の場合はleft=trueとなり、rightが返却されます。| |の場合はleft=true(falseではない)なのでそのままleftが返却されます。

この知識を用いると、if文を省略できる場合があります。

const left = "左です";
const right = "右です";

//if文を使う場合
if (left===false) {
  console.log(right);
} else {
  console.log(left);
}

// ||を使う場合
console.log(left || right);

同じ処理を一行で書くことができます。

コメント

タイトルとURLをコピーしました