모던 JS (8)

이원문·2022년 12월 2일
0

108 ~ 123 page

타입 변환이란?

  • 자바스크립트의 모든 값에는 타입이있다.
  • 값의 타입은 개발자의 의도에 따라 다른 타입으로 변환할 수 있다.
  • 개발자가 의도적으로 값의 타입을 변환하는 것을 '명시적 타입 변환' 또는 '타입 캐스팅'이라 한다.
  • 개발자의 의도와는 상관없이 표현식을 평가하는 도중에 자바스크립트 엔진에 의해 암묵적으로 타입이 자동변환되기도 한다. 이를 '암묵적 타입' 변환 또는 '타입 강제 변환'이라 한다.

암묵적 타입 변환

  • 자바스크립트 엔진은 표현식을 평가할 때 개발자의 의도와는 상관없이 코드의 문맥을 고려해 암묵적으로 데이터 타입을 강제 변환할 때가 있다.
'10' + 2 = '102' // 문자열
5 * '10' = 50// 숫자 타입
1 / 'one' = NaN 
'1' > 0 = true 
if (true) console.log('2') = 2  // 불리언 타입

명시적 타입 변환

  • 표준 빌트인 생성자 함수를 new 연산자 없이 호출하는 방법과 빌트인 메서드를 사용하는 방법, 그리고 앞에서 살펴본 암묵적 타입 변환을 이용하는 방법이있다.

문자열 타입 변환

  • String 생성자 함수를 new 연산자 없이 호출하는 방법
  • Object.prototype.toString 메서드를 사용하는 방법
  • 문자열 연결 연사자를 이용하는 방법
String(1); = "1"
String(NaN); = "NaN"

숫자 타입으로 변환

  • Number 생성자 함수를 new 연산자 없이 호출하는 방법
  • parseInt, parseFloat 함수를 사용하는 방법(문자열만 숫자타입으로 변환가능)
  • +단항 산술 연산자를 이용하는 방법
  • *산술 연산자를 이용하는 방법

불리언 타입으로 변환

  • Boolean 생성자 함수를 new 연산자 없이 호출하는 방법
  • ! 부정 논리 연산자를 두 번 사용하는 방법

단축 평가

논리 연산자를 사용한 단축 평가

  • 논리합 ( || ) 또는 논리곱 ( && ) 연산자 표현식은 언제나 2개의 피연산자 중 어느 한쪽으로 평가된다.
  • 논리곱 ( && ) 연산자는 두 개의 피연산자가 모두 true로 평가될 때 true를 반환하다.
  • 논리합 ( || ) 연산자는 두 개의 피연산자 중 하나만 true로 평가되어도 true를 반환한다.

옵셔널 체이닝 연산자

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

null 병합 연산자

    • ES11(ECMAScript2020)에서 도입된 null 병합 연산자 ?? 는 좌항의 피연산자가 null 또는 undefined인 경우 우항의 피연산자를 반환하고, 그렇지 않으면 좌항의 피연산자를 반환한다. null 병합 연산자 ??는 변수에 기본값을 설정할 때 유용하다.
profile
have a nice day

0개의 댓글