자바스크립트에서 논리 AND 연산자(&&)는 두 개의 피연산자가 모두 참(truthy)일 때만 전체 표현식이 true를 반환하는 연산자입니다. 반대로 말하면, 두 피연산자 중 하나라도 거짓(falsy)이거나 0인 값이 있다면 조건은 거짓(false)이 됩니다.
논리 AND 연산자의 진리표
&& 연산자의 결과는 피연산자의 조합에 따라 다음과 같이 결정됩니다.
| a | b | a && b |
|---|---|---|
| true | true | true |
| true | false | false |
| false | true | false |
| false | false | false |
예제 코드
다음 코드를 직접 실행해 보면 논리 AND 연산자가 실제로 어떻게 작동하는지 확인할 수 있습니다.
<html>
<body>
<script>
var a = true;
var b = false;
document.write("(a && b) => ");
result = (a && b);
document.write(result);
</script>
</body>
</html>
위 예제에서 변수 a는 true, 변수 b는 false입니다. 따라서 (a && b)의 결과는 화면에 false로 출력됩니다. 만약 두 변수가 모두 true였다면 결과는 true가 되었을 것입니다.
참고: 단락 평가(Short-circuit Evaluation)
논리 AND 연산자는 단락 평가 방식으로 동작합니다. 즉, 첫 번째 피연산자가 이미 거짓(falsy)이라면 두 번째 피연산자는 아예 평가하지 않고 바로 거짓 값을 반환합니다. 이 특성을 활용하면 불필요한 연산을 줄이거나 조건부 실행 로직을 간결하게 작성할 수 있습니다.