ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Javascript] 단축평가
    javascript 2022. 10. 25. 16:15

    poiemaweb에서 javascript 기본 문법에 대해 복습하던 중 헷갈리거나 제대로 알지 못했던 부분들이 있어 기록으로 남기고자 한다.

     

     

    웹 프로그래밍 튜토리얼 | PoiemaWeb

    Front-end Development Tutorial

    poiemaweb.com

     


     

    1. 논리곱 연산자

    논리곱 연산자(and 연산자) &&두개의 피연산자가 모두 true로 평가될 때 true를 반환한다.

    'Cat' && 'Dog' // “Dog”

    1. 첫번째 피연산자 ‘Cat’은 Truthy 값이므로 true로 평가된다.

     하지만 이 시점까지는 위 표현식을 평가할 수 없다. 두번째 피연산자까지 평가해 보아야 위 표현식을 평가할 수 있다.

     

    2. 두번째 피연산자 ‘Dog’은 Truthy 값이므로 true로 평가되었고 두개의 피연산자가 모두 true로 평가되었으므로 평가 결과는 true가 된다.

     

     이때 논리곱 연산의 결과를 결정한 것은 두번째 피연산자 ‘Dog’다.

    논리곱 연산자 &&는 논리 연산의 결과를 결정한 두번째 피연산자의 평가 결과 즉, 문자열 ‘Dog’를 그대로 반환한다.

     


     

    2. 논리합 연산자

    논리합 연산자(or 연산자) ||도 논리곱 연산자 &&와 동일하게 동작한다.

     

    논리합 연산자 ||두개의 피연산자 중 하나만 true로 평가되어도 true를 반환한다.

    'Cat' || 'Dog' // 'Cat'

    1. 첫번째 피연산자 ‘Cat’은 Truthy 값이므로 true로 평가된다. 이 시점에 두번째 피연산자까지 평가해 보지 않아도 위 표현식을 평가할 수 있다.

     

    2. 논리합 연산자 ||는 논리 연산의 결과를 결정한 첫번째 피연산자의 평가 결과 즉, 문자열 ‘Cat’을 그대로 반환한다.

     

    논리곱 연산자 &&와 논리합 연산자 ||는 이와 같이 논리 평가를 결정한 피연산자의 평가 결과를 그대로 반환한다. 이를 단축 평가(Short-Circuit evaluation)라 부른다.

     

    단축 평가는 객체가 null인지 확인하고 프로퍼티를 참조할 때 유용하다.

    'javascript' 카테고리의 다른 글

    [Javascript] insertAdjacentHTML  (0) 2023.01.30
    [Javascript] JSDoc  (0) 2022.10.26
    [Javascript] 객체와 불변성(Immutability)  (0) 2022.10.26
    [Javascript] 객체  (0) 2022.10.25
    [Javascript] 데이터 타입과 변수  (0) 2022.10.24
Designed by Tistory.