[JS Log] 타입 변환과 단축 평가

2023. 10. 11. 15:04카테고리 없음

9.1 타입 변환이란?

> 개발자가 의도적으로 값의 타입을 변환하는 것을 명시적 타입 변환 또는 타입 캐스팅이라 한다.

> 개발자의 의도와는 상관없이 표현식을 평가하는 도중에 자바스크립트 엔진에 의해 암묵적으로 타입이 자동 변환되지도 한다, 이를 암묵적 타입 변환 또는 타입 강제 변환이라 한다.

9.2 암묵적 타입 변환

9.2.1 문자열 타입으로 변환

1 + "2"

9.2.2 숫자 타입으로 변환

1 - '1' // 0

9.2.3 불리언 타입으로 변환

if ('') console.log(x);

> 자바스크립트 엔진은 불리언 타입이 아닌 값을 Truthy 값(참으로 평가되는 값) 또는 Falsy 값(거짓으로 평가되는 값)으로 구분한다.

9.3 명시적 타입 변환

9.3.1 문자열 타입으로 변환

9.3.2 숫자 타입으로 변환

9.3.3 불리언 타입으로 변환

9.4 단축 평가

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

'Cat' && 'Dog' // "Dog"
'Cat' || 'Dog' // "Cat"

> 논리 연산의 결과를 결정하는 피연산자를 타입 변환하지 않고 그대로 반환한다. 이를 단축 평가라 한다. 단축 평가는 표현식을 평가하는 도중에 평가 결과가 확정된 경우 나머지 평가 과정을 생략하는 것을 말한다.

9.4.2 옵셔널 체이닝 연산자

var hired = undefined;

var result = hired?.value;

9.4.3 null 병합 연산자

var hired = null ?? 'you fired!'

console.log(hired) // "you fired"