[모던 JavaScript 튜토리얼] 6. 논리 연산자

최대 1 분 소요

OR 연산자와 피연산자가 여러 개인 경우

아래 규칙을 따른다.

  • 피연산자를 불린 값으로 형 변환한 값이 true 이면 변환 전 값을 리턴한다.
  • 마지막 피연산자까지 false 라면, 마지막 피연산자가 리턴된다.
console.log(0 || 1 || 2);        // 1
console.log(0 || false || null); // null


AND 연산자와 피연산자가 여러 개인 경우

아래 규칙을 따른다.

  • 피연산자를 불린 값으로 형 변환한 값이 false 이면 변환 전 값을 리턴한다.
  • 마지막 피연산자까지 true 라면, 마지막 피연산자가 리턴된다.
console.log(1 && 0 && 2);    // 0
console.log(1 && "0" && -1); // -1

참고:
alert( alert(1) && alert(2) ); 의 결과는?
얼럿 창엔 1undefined 가 차례로 출력된다. alert 함수는 undefined 를 리턴하고, undefined는 falsy 한 값이기에 alert(2) 는 호출조차 되지 않는다.


NOT 연산자 두 번

NOT 연산자는 피연산자를 불린형으로 변환한다.

console.log(!0);                  // false
console.log(!null);               // true
console.log(!true);               // false
console.log(!"non-empty string"); // false


NOT 연산자를 두 번 사용해 불린 형으로 변환할 수 있다. 이는 Boolean() 함수를 통한 형 변환과 기능적으로 같다.

console.log(!!"non-empty string");          // true
console.log(Boolean(!!"non-empty string")); // true

댓글남기기