A260 論理演算子(JavaScript)

論理演算子とは、「集合」や「命題」などの論理演算を行うためのものです。if文の条件判定などに用いることが多く、真(true)または偽(false)を判定することができます。

論理演算子の種類

|| (OR:論理和)

“OR” 演算子は2つの縦の記号で表現されます。 AもしくはBのどちらかがtrueとなった際にtrueを返します。

JavaScript
result = A || B;

上記の際、AとBどちらかがtureであればresultはtrueとなります。

| (OR:論理和)

ビット論理和演算子は1つの縦の記号で表現されます。 AもしくはBのどちらかが1の場合に1を返します。

JavaScript
result = 00000101 | 00000010;

上記の際、AとBのどちらかが1になっている場合に1になるため、resultは00000111となります。

&& (AND:論理積)

“AND” 演算子は2つの&の記号で表現されます。 AとBがどちらもtrueとなった際にtrueを返します。

JavaScript
result = A && B;

上記の際、AとBがどちらもtrueであればresultはtrueとなります。

& (ビット論理積)

ビット論理積演算子は1つの&の記号で表現されます。 AとBがどちらも1の場合に1を返します。

JavaScript
result = 00000101 | 00000110;

上記の際、AとBどちらも1になっている場合に1になるため、resultは00000100となります。

! (NOT:否定)

“NOT” 演算子は1つの!の記号で表現されます。 true、falseの逆の値を返します。

JavaScript
result = !A;

上記の際、Aがtrueであればfalseを返し、Aがfalseであればtrueを返します。

?? (Null合体)

“Null合体” 演算子は2つの?の記号で表現されます。左辺がnullやundefinedの際には右辺を返し、左辺がnullやundefinedではない際に左辺を返します

左辺がnullまたundefinedの場合

JavaScript
result = null ?? 'result';
// resultを返す。

左辺がnullまたundefinedではない場合

JavaScript
result = 'string' ?? 'result';
// stringを返す。

例題

以下コードの出力値はtrue/falseのどちらか

JavaScript
result = true && false;
console.log(result);

回答

false
&&はAND演算子なので、どちらもtrueの際にtrueを返すため

以下コードの出力値はtrue/falseのどちらか

JavaScript
result = !false;
console.log(result);

回答

true
!はNOT演算子なので、true、falseの逆の値を返すため

エンジニアからのアドバイス

実際の開発現場では比較演算子と呼ばれるものを用いてtrueやfalseを返すものが多く、直接的にtrueやfalseをそのまま記載するケースが少ないです。比較演算子につきましては次の記事にて紹介します。

---