본문 바로가기
JavaScript

단축 평가

by 융디's 2024. 4. 21.
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