728x90
단축 평가
@2024.04.03
단축 평가(Short-circuit Evaluation)
💡
논리 연산자를 사용할 때 발생하는 독특한 동작을 말하며, 주로 &&와 || 연산자에서 발생
- 코드를 더 간결하게 작성할 수 있고, 조건부 표현식에 사용될 때 유리
- 각 조건에 맞게 왼쪽 피연산자가 반환될지, 오른쪽 피연산자가 반환될지 결정
논리 AND(&&)
💡
왼쪽 피연산자가 false 로 평가될 경우 바로 해당 값을 반환하고, 오른쪽 피연산자는 평가하지 않는다.
- 왼쪽 피연산자가 false가 아닌 경우에만 오른쪽 피연산자를 평가하고, 반환한다.
console.log(true && "hello"); // hello console.log(false && "hello"); // false
논리 OR(||)
💡
왼쪽 피연산자가 true로 평가될 경우 바로 해당 값을 반환하고, 오른쪽 피연산자는 평가하지 않는다.
- 왼쪽 피연산자가 true가 아닌 경우에만 오른쪽 피연산자를 평가하고 그 결과를 반환한다.
console.log(true || "hello"); // true console.log(false || "hello"); // hello console.log("" || "hello"); // hello console.log(0 || "hello"); // hello console.log(null || "hello"); //hello console.log(undefined || "hello"); //hello
논리 Nulllish(??)
💡
첫 번째 피연산자가 null/undefined 일 때만 우측 피연산자를 반환하고 그 외에는 좌측 피연산자를 반환
- 주로 변수의 기본값 설정에 사용된다.
console.log("" ?? "hello"); // "" console.log(0 ?? "hello"); // 0 console.log(null ?? "hello"); // hello console.log(undefined ?? "hello"); // hello console.log("a" ?? "hello"); // a console.log(1 ?? "hello"); // 1
728x90
'JavaScript' 카테고리의 다른 글
프로토타입 (0) | 2024.04.21 |
---|---|
객체 생성자 (0) | 2024.04.21 |
배열 내장 함수 (0) | 2024.04.21 |
for of / for in (0) | 2024.04.20 |
배열 (0) | 2024.04.20 |