AND (&&) 연산자의 세가지 사용법

라용·2022년 12월 8일
0

자바스크립트 완벽 가이드 책 내용 일부를 발췌 정리한 내용입니다.

하나,
&& 을 불 피연산자와 함께 사용해 두 값에서 불 AND 연산을 수행합니다. 첫 번째 피연산자와 두 번째 피 연산자가 모두 true 일 때만 true 를 반환하고, 피 연산자 중 하나라도 false 이면 false 를 반환합니다. 두 관계식을 연결하는 용도로도 자주 사용합니다.

x === 0 && y === 0; // x 와 y 가 모두 0일 때만 true

둘,
true, false 가 아니라 true 같은 값 또는 false 같은 값에 사용하는 경우입니다. (false 같은 값에는 false, null, undefined, 0, -0, NaN, "" 가 있고 그 외에 객체를 포함한 모든 값은 true 같은 값임) 두 연산자 모두 true 같은 값이면 연산자 역시 true 같은 값을 반환하고 그렇지 않다면 false 같은 값을 반환합니다. 자바스크립트에서는 불값이 올 자리에 true 같은 값, false 같은 값이 와도 상관 없습니다.

셋,
왼쪽에 있는 값이 true 같은 값이면 && 연산자는 오른쪽에 있는 값을 평가한 후 반환합니다. 왼쪽 값이 false 같은 값이면 전체 표현식의 값 역시 false 같은 값이므로 && 은 왼쪽 값을 반환하며 오른쪽 값을 평가하지 않습니다.

let o = { x : 1 };
let p = null;

o && o.x; // 1 - o 는 true 같은 값이므로 o.x 값을 반환
p && p.x; // null - p 는 false 같은 값이므로 그대로 반환. p.x 는 평가 안함

&& 의 이런 동작을 단축 평가라고 부르며, 코드를 조건부로 실행할 때 사용합니다.

// 아래 두 코드 모두 a === b 일 때 동작하는 코드

if (a === b) stop();
(a === b) && stop(); 
profile
Today I Learned

0개의 댓글