
오늘은 논리 연산자 (
||,&&)의 조건식 평가 순서에 대해 공부했다.
논리 연산자는 조건문의 흐름을 결정하는 중요한 연산자로,||(OR)와&&(AND)의 동작 방식을 이해하면 코드 실행 흐름을 예측하고 최적화할 수 있다.
||) 동작 원리|| 연산자는 왼쪽 값이 true이면 오른쪽을 실행하지 않고,
왼쪽 값이 false일 때만 오른쪽 값을 실행하는 특징이 있다.
console.log(true || true); // true
console.log(true || false); // true
console.log(false || true); // true
console.log(false || false); // false
✅ 실행 결과
true || true → 왼쪽이 true이므로 오른쪽 평가 안 함 → 결과: truetrue || false → 왼쪽이 true이므로 오른쪽 평가 안 함 → 결과: truefalse || true → 왼쪽이 false이므로 오른쪽 평가 → 결과: truefalse || false → 둘 다 false → 결과: false즉, 왼쪽 값이 true라면 오른쪽 조건을 볼 필요 없이 true가 된다는 점이 중요하다.
|| 연산자는 왼쪽 조건이 true이면 오른쪽을 실행하지 않기 때문에 특정 조건을 게이트(입구)로 활용할 수 있다.
console.log((n1 > 10) || (n6 = 10));
위 코드에서 (n1 > 10)이 true라면 (n6 = 10)은 실행되지 않는다.
하지만 (n1 > 10)이 false라면 (n6 = 10)이 실행되어 n6에 10이 할당된다.
&&) 동작 원리&& 연산자는 왼쪽 값이 true일 때만 오른쪽을 실행하는 특징이 있다.
console.log(true && true); // true
console.log(true && false); // false
console.log(false && true); // false
console.log(false && false); // false
✅ 실행 결과
true && true → 두 조건 모두 true → 결과: truetrue && false → 왼쪽 true, 하지만 오른쪽 false이므로 결과: falsefalse && true → 왼쪽 false이므로 오른쪽 평가 안 함 → 결과: falsefalse && false → 왼쪽 false이므로 오른쪽 평가 안 함 → 결과: false즉, 왼쪽 값이 false이면 오른쪽 조건을 볼 필요 없이 무조건 false가 된다는 점이 중요하다.
&& 연산자는 왼쪽 조건이 true일 때만 오른쪽을 실행하기 때문에, 특정 조건을 게이트(입구)로 활용할 수 있다.
console.log(n1 && 'n1안의 정수값은 true를 의미합니다');
위 코드에서 n1이 true(0이 아닌 값)라면 'n1안의 정수값은 true를 의미합니다'가 출력된다.
하지만 n1이 false(0, null, undefined, false)라면 오른쪽 코드는 실행되지 않고 아무것도 출력되지 않는다.
| 연산자 | 동작 방식 | 예제 | 결과 |
|---|---|---|---|
| (OR) | 왼쪽이 true이면 오른쪽 실행 안 함 | `true | |
&& (AND) | 왼쪽이 false이면 오른쪽 실행 안 함 | false && true | false |
! (NOT) | 값을 반대로 변환 | !true | false |
|| 연산자는 왼쪽이 true이면 오른쪽을 실행하지 않는다 → 게이트 역할 가능&& 연산자는 왼쪽이 false이면 오른쪽을 실행하지 않는다 → 게이트 역할 가능! 연산자는 값을 반대로 변환한다.