JavaScriptにおける&&の意味
論理積演算子 (&&)
JavaScriptにおいて、&&
は 論理積演算子 と呼ばれ、論理結合 を行うために使用されます。この演算子は2つのオペランドに対して使用され、両方のオペランドが真 (true
) の場合にのみ true
を返します。それ以外の場合は false
を返します。この動作により、複数の条件がすべて満たされる必要がある場合に便利です。
論理積演算子の動作
- 両方のオペランドが
true
の場合:true
を返します。 - いずれかのオペランドが
false
の場合:false
を返します。 - 両方のオペランドが
false
の場合:false
を返します。
&& の使い方
&&
演算子は、以下のように条件式の中で使用されます。
const condition1 = true;
const condition2 = false;
if (condition1 && condition2) {
// condition1 と condition2 が両方とも true の場合に実行される
} else {
// それ以外の場合に実行される
}
上記の例では、condition2
が false
のため、if
文の中身は実行されません。
短絡評価
&&
演算子は 短絡評価 を行います。つまり、左側のオペランドが false
と評価された時点で、右側のオペランドは評価されません。これは、右側のオペランドの評価に時間がかかる場合や、副作用がある場合に便利です。
&& の使用例
例1: 複数の条件の確認
const age = 25;
const hasLicense = true;
if (age >= 18 && hasLicense) {
// 18歳以上で免許を持っている場合に実行される
}
例2: 関数からの戻り値の確認
function validateInput(input) {
if (input && input.length > 0) {
// 入力が存在し、長さが0より大きい場合に true を返す
return true;
} else {
return false;
}
}
例3: デフォルト値の設定
const name = user.name || "ゲスト";
上記の例では、user.name
が undefined
や空文字列の場合、name
変数には "ゲスト" が代入されます。
真偽値表
オペランド1 | オペランド2 | 結果 |
---|---|---|
true |
true |
true |
true |
false |
false |
false |
true |
false |
false |
false |
false |
HTML コード例
<!DOCTYPE html>
<html>
<head>
<title>&& 演算子の例</title>
</head>
<body>
<script>
const age = 25;
const hasLicense = true;
if (age >= 18 && hasLicense) {
console.log("運転できます。");
} else {
console.log("運転できません。");
}
</script>
</body>
</html>
参考資料
Q&A
Q1: && と & の違いは何ですか?
&&
は論理積演算子、&
はビット演算子です。論理積演算子は真偽値を扱い、ビット演算子はビット単位で演算を行います。
Q2: && はどのように短絡評価されますか?
左側のオペランドが false
と評価された時点で、右側のオペランドは評価されません。
Q3: && 演算子の代わりに || 演算子を使用できますか?
||
演算子は論理和演算子であり、どちらかのオペランドが true
の場合に true
を返します。&&
演算子とは異なる動作をするため、置き換えることはできません。
その他の参考記事:JavaScript 演算子