⊗jsPmCdCWB 119 of 505 menu

JavaScriptにおけるブール型との値の比較

前の例では、比較に 演算子 === を使用しました。この場合、変数は 値と型の両方において true と 等しいか比較されます。

このような比較には 演算子 == も使用できます。変数 test に 常に true または false のいずれかが 入るのであれば、何も変わりません:

let test = true; // ここには true か false を書く if (test == true) { console.log('+++'); } else { console.log('---'); }

しかし、変数 test に 任意の値が入る可能性がある場合、 事態は遥かに複雑になります。

その場合、変数 test に ブール値以外が入ると、その値は まずブール型に変換され、その*後*に 比較が行われます。

例えば、変数 test に 数値 1 が入っているとします。この場合、まず 論理型、つまり true に変換されます。 そしてその後、比較が実行されます:

let test = 1; if (test == true) { console.log('+++'); // これが実行される } else { console.log('---'); }

一方、例えば数値 0false に変換されます。結果として 条件式は '間違い' を出力します:

let test = 0; if (test == true) { console.log('+++'); } else { console.log('---'); // これが実行される }

実際、このような比較は明示的に 次のように書き直すことができます:

let test = 1; if (Boolean(test) == true) { console.log('+++'); } else { console.log('---'); }

論理型に変換した際に false を与える値を 思い出して書き出してください。

コードを実行せずに、 コンソールに何が出力されるか判断してください:

let test = 1; if (test == true) { console.log('+++'); } else { console.log('---'); }

コードを実行せずに、 コンソールに何が出力されるか判断してください:

let test = 0; if (test == true) { console.log('+++'); } else { console.log('---'); }

コードを実行せずに、 コンソールに何が出力されるか判断してください:

let test = 1; if (test == false) { console.log('+++'); } else { console.log('---'); }

コードを実行せずに、 コンソールに何が出力されるか判断してください:

let test = 1; if (test != true) { console.log('+++'); } else { console.log('---'); }

コードを実行せずに、 コンソールに何が出力されるか判断してください:

let test = ''; if (test == false) { console.log('+++'); } else { console.log('---'); }

コードを実行せずに、 コンソールに何が出力されるか判断してください:

let test; if (test == true) { console.log('+++'); } else { console.log('---'); }

コードを実行せずに、 コンソールに何が出力されるか判断してください:

let test = 3 * 'a'; if (test == true) { console.log('+++'); } else { console.log('---'); }
日本語
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItalianoქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
当サイトでは、サイトの動作、分析、パーソナライゼーションのためにクッキーを使用しています。 データ処理はプライバシーポリシーに従って行われます。
すべて受け入れる 設定 拒否