간단하게 아래 코드를 콘솔로 치면 무엇이 나올까 생각해봅시다.
alert( null || 2 || undefined );
정답을 아시겠나요? 정답은 알람창에 '2'가 출력되고, undefined를 return합니다.
OR은 true를 만나는 순간 멈춥니다.
마지막으로 검증한 엘리먼트를 반환합니다.
alert(alert(1) || 2 || alert(3));
정답을 아시겠나요? 정답은 알람창에 '1'이 출력되고 알림창에 '2'가 출력되고, undefined를 return합니다.
마찬가지로 OR은 true를 만나는 순간 멈춥니다.
마지막으로 검증한 엘리먼트를 반환합니다.
alert(alert(1) && alert(2));
정답을 아시겠나요? 정답은 알람창에 '1'이 출력되고 undefined가 출력되고, undefined를 반환합니다.
AND는 false를 만나는 순간 멈춥니다.
마지막으로 검증한 엘리먼트를 반환합니다.
alert( null || 2 && 3 || 4 );
정답을 아시겠나요? 정답은 알람창에 '3'이 출력됩니다.
OR과 AND가 함께 있을 때는 AND가 연산자 우선순위를 갖습니다.
마지막으로 검증한 엘리먼트(3)를 반환합니다.