概要
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をすぐに返し、右側のオペランドは評価されない動きをします。