概要
javascriptの論理演算子についてまとめます。
まずは論理積演算子についてです。
論理積演算子は条件式で「&&」と記述して判定します。
条件式の中で2つのオペランドを記述し、それぞれのオペランドがtrueになる場合に式全体でtrueを返します。
また、どちらかのオペランドがfalseになる場合は、他方がtrueでも式全体ではfalseを返します。
実例
簡単な例を書きます。
var testa = 10; var testb = 20; //条件式1 if (testa == 10 && testb == 20) { console.log(true); } else { console.log(false); } //結果、trueと出力される var testc = 30; var testd = 40; //条件式1 if (testc == 10 && testd == 40) { console.log(true); } else { console.log(false); } //結果、falseと出力される
上記の場合、条件式1のほうは、if文の中の条件式が2つのオペランドともtrueになるので、式全体でtrueを返します。
また、条件式2のほうは、最初のオペランドがfalseになる為、式全体でもfalseを返します。
javascriptは全ての値に対してtrue/falseの評価をすることができます。
falseに評価されるものはnull、undefined、0、-0、NaN、””(空白文字)等です。
式の評価順について
この論理積演算子を考える時、オペランドの左側から判定されています。
この動きをもう少し詳しく調べると、まず左側のオペランドが判定されて、次に右側のオペランドが判定されます。
左側のオペランドがfalseの場合は、式全体としてfalseをすぐに返し、右側のオペランドは評価されない動きをします。