더북(TheBook)

9.3.4 논리 연산자

논리 연산자는 피연산자를 논리적으로 평가한 뒤, 조건에 맞는 피연산자를 반환하는 연산을 수행합니다.

표 9-9 논리 연산자

연산자

설명

&&

x && y

x가 참이면 y를 반환하고, 거짓이면 x를 반환합니다.

||

x || y

x가 참이면 x를 반환하고, 거짓이면 y를 반환합니다.

!

!x

x가 참이면 false를 반환하고, 거짓이면 true를 반환합니다.

AND 연산자(&&)는 피연산자를 왼쪽부터 평가해 평가 결과가 거짓이면 거짓이 나온 피연산자를 즉시 반환하고, 거짓이 아니면 마지막에 평가되는 피연산자를 반환합니다.

true && true; // true
true && false && true; // false

그런데 논리 연산자에는 한 가지 특징이 있습니다. 어떤 피연산자든 모두 논리형으로 평가하는 것이죠. 숫자형을 쓰거나 문자열을 쓰거나 전부 논리 값으로 평가합니다. 자바스크립트의 자료형 중 ""(빈 문자열), undefined, 0, null만 거짓으로 평가되고 나머지는 참으로 평가됩니다. AND 연산자는 연산 결과가 거짓으로 평가되면 거짓으로 평가된 피연산자를 반환하므로 다음과 같은 결과가 나옵니다.

"" && "cat"; // ""
undefined && "cat"; // undefined
0 && "cat"; // 0
null && "cat"; // null
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.