본문 바로가기
Front-End/Javascript

[자바스크립트 DeepDive] 타입 변환과 단축 평가

by Cafe Mocha 2022. 5. 3.

9장 타입 변환과 단축 평가

타입 변환

  • 명시적 타입 변환 : 개발자가 의도적으로 값의 타입을 변환하는 것
  • 암묵적 타입 변환 : 개발자의 의도와는 상관없이 표현식을 평가하며 자동 변환되는 것
  • 문자열 타입으로 변환
    • String 생성자 함수를 new 연산자 없이 호출하는 방법
    • Object.prototype.toString 메서드
    • 문자열 연결 연산자
  • 숫자 타입으로 변환
    • Number 생성자 함수를 new 연산자 없이 호출하는 방법
    • parseInt, parseFloat 함수를 사용하는 방법 (문자열만 숫자 타입으로 변환 가능)
      • 단항 산술 연산자를 이용하는 방법
      • 산술 연산자를 이용하는 방법
  • 불리언 타입으로 변환
    • Boolean 생성자 함수를 new 연산자 없이 호출하는 방법
    • ! 부정 논리연산자를 두 번 사용하는 방법

단축 평가

  • 논리 연산자를 사용한 단축 평가
    • 논리곱(&&) 연산자논리곱 연산자는 좌항에서 우항으로 진행된다.
    • 논리곱 연산자는 두 개의 피연산자가 모두 true로 평가될 때 true를 반한다.
    • 논리합(||)연산자논리합 연산자도 좌항에서 우항으로 평가가 진행된다.
    • cat && dog // dog 반환 false && dog // false 반환 cat || dog // cat 반환 false || dog // dog반환
    • 논리합 연산자는 두 개의 피연산자 중 하나만 true로 평가되어도 true를 반한다.

옵셔널 체이닝 연산자

  • ES11에서 도입된 옵셔널체이닝 연산자 (?.)는 좌항의 피연산자가 null 또는 undefined인 경우 undefined를 반환하고, 그렇지 않으면 우항의 프로머티 참조를 이어간다.

null 병합 연산자

  • ES11에서 도입된 null 병합 연산자 (??) 는 좌항의 피연산자가 null 또는 undefined인 경우 우항의 피연산자를 반환하고 그렇지 않으면 좌항의 피연산자를 반환한다.

Falsy 값일때도 옵셔널 체이닝과 null 병합 연산자는 정상 작동.