「論理演算子」は比較演算子を組み合わせることで条件を複雑化し、その真偽を判定するための演算子です。比較演算子と同じくIF文と併用されることが多いと思います。この記事では、JavaScriptの論理演算子「&&」「||」「!」の使い方について解説します。
論理演算子とは
論理演算子とは、「命題」や「集合」などの論理演算をするためのものです。プログラミングでは、if文の条件判定に使用され、その真偽を判定するための演算子です。論理演算子には、「&&」(論理積「and」)、「||」(論理和「or」)、「!」(否定「not」)の三種類が存在します。また、論理演算子のことをブール(Bool)演算子などとも呼んだりします。
表にまとめると次のとおりです。
| 論理演算 | 論理演算子 | 条件判定 |
|---|---|---|
| 論理積「and」 | A && B | AとBが両方成立する必要がある |
| 論理和「or」 | A || B | AまたはBのどちらかが成立すればOK |
| 否定「not」 | !A | A以外なら何でもOK |
JavaScriptのIF文については、下記の記事で詳しく解説しています!
論理演算子の使い方
論理演算子の使い方について解説します。論理演算子で設定する条件はbool値(trueかfalse)であることが一般的ですが、非ブール値が条件式に当てはまっている場合、いくつかのルールが適用されます。
- オブジェクトはすべてtrueとなります
- 数字の0やnull、長さゼロの文字列などはfalseとなります
これらを踏まえた上でそれぞれの使い方を解説していきます。
論理積「&&」について
論理積は指定した条件が全てtrue(真)の場合にのみ、trueになる演算子です。
論理積の演算子は次のようになります。
条件1 && 条件2
実際のコードの記述は次のようになります。
var test1 = true && true;
console.log(test1);
// 実行結果は「true」となります
var test2 = true && false;
console.log(test2);
// 実行結果は「false」となります
var test3 = false && true;
console.log(test3);
// 実行結果は「false」となります
このように指定した条件が全てtrue出ない場合は、falseが返されます。
論理和「||」について
論理和は指定した条件のいずれかがtrue(真)であれば、結果がtrueになる演算子です。
論理和の演算子は次のようになります。
条件1 || 条件2
実際のコードの記述は次のようになります。
var test1 = true || true;
console.log(test1);
// // 実行結果は「true」となります
var test2 = true || false;
console.log(test2);
// 実行結果は「true」となります
var test3 = false || true;
console.log(test3);
// 実行結果は「true」となります
var test4 = false || false;
console.log(test4);
// 実行結果は「false」となります
このように指定した条件のうちに一つでもtrueがあれば結果はtrueになります。
否定「!」について
「&&」や「||」と異なり、評価する値のtrue(真)とfalse(偽)を反転させる演算子です。
否定の演算子は次のようになります。
!条件1
実際のコードの記述は次のようになります。
var test1 = !true;
console.log(test1);
// // 実行結果は「false」となります
var test2 = !false;
console.log(test2);
// 実行結果は「true」となります
このように指定した条件はtrueまたはfalseが反転するため、!trueは「trueではない」となり、結果はflaseになります。
まとめ
この記事では、JavaScriptの論理演算子「&&」「||」「!」の使い方について解説しました。比較演算子と同じくIF文と併用されることが多いので、活用する場面も多いかと思います。また論理演算子をマスターすることによって、より細かい条件指定が可能となります。この記事を参考にJavaScriptの論理演算子を習得していただければと思います。
JavaScriptを短期間かつ効率的に学びたい方は
「独学だと分からないことが多すぎる」「プログラミングをより現場に近い形で学びたい」「学んだ後にどう収益に繋げればいいの?」と考えている方も多いでしょう。
そんな方には、現役エンジニア講師在籍/案件獲得サポートもあるプログラミングスクールで学ぶのがおすすめです。都度検索しながら知識を補完していくのではなく、体系立てて学ぶことで短期間かつ効率的にプログラミングを習得することが可能です。
「即戦力になれる!稼いでいけるようになれる!」プログラミングスクールを紹介した記事をこちらに記載しておきますので、是非ご覧ください。





コメント