論理演算子とは、「集合」や「命題」などの論理演算を行うためのものです。if文の条件判定などに用いることが多く、真(true)または偽(false)を判定することができます。
論理演算子の種類
|| (OR:論理和)
“OR” 演算子は2つの縦の記号で表現されます。 AもしくはBのどちらかがtrueとなった際にtrueを返します。
result = A || B;上記の際、AとBどちらかがtureであればresultはtrueとなります。
| (OR:論理和)
ビット論理和演算子は1つの縦の記号で表現されます。 AもしくはBのどちらかが1の場合に1を返します。
result = 00000101 | 00000010;上記の際、AとBのどちらかが1になっている場合に1になるため、resultは00000111となります。
&& (AND:論理積)
“AND” 演算子は2つの&の記号で表現されます。 AとBがどちらもtrueとなった際にtrueを返します。
result = A && B;上記の際、AとBがどちらもtrueであればresultはtrueとなります。
& (ビット論理積)
ビット論理積演算子は1つの&の記号で表現されます。 AとBがどちらも1の場合に1を返します。
result = 00000101 | 00000110;上記の際、AとBどちらも1になっている場合に1になるため、resultは00000100となります。
! (NOT:否定)
“NOT” 演算子は1つの!の記号で表現されます。 true、falseの逆の値を返します。
result = !A;上記の際、Aがtrueであればfalseを返し、Aがfalseであればtrueを返します。
?? (Null合体)
“Null合体” 演算子は2つの?の記号で表現されます。左辺がnullやundefinedの際には右辺を返し、左辺がnullやundefinedではない際に左辺を返します
左辺がnullまたundefinedの場合
result = null ?? 'result';
// resultを返す。左辺がnullまたundefinedではない場合
result = 'string' ?? 'result';
// stringを返す。例題
以下コードの出力値はtrue/falseのどちらか
result = true && false;
console.log(result);回答
false
&&はAND演算子なので、どちらもtrueの際にtrueを返すため
以下コードの出力値はtrue/falseのどちらか
result = !false;
console.log(result);回答
true
!はNOT演算子なので、true、falseの逆の値を返すため
エンジニアからのアドバイス
実際の開発現場では比較演算子と呼ばれるものを用いてtrueやfalseを返すものが多く、直接的にtrueやfalseをそのまま記載するケースが少ないです。比較演算子につきましては次の記事にて紹介します。
