9.1. 타입 변환

자바스크립트의 값의 타입을 다른 타입으로 변환하는 것

9.1.1. 명시적 타입 변환(타입 캐스팅; Type Casting)

개발자가 의도적으로 값의 타입을 변환하는 것

let x = 10;
let y = x.toString();     // 숫자를 문자열로 타입 캐스팅
console.log(typeof y, y); // string 10
console.log(typeof x, x); // number 10 <- 값은 바뀌지 않음

9.1.2. 암묵적 타입 변환(타입 강제 변환; Type coercion)

개발자의 의도와는 상관없이 표현식 평가 과정에서 자바스크립트 엔진에 의해 암묵적으로 타입이 자동 변환되는 것

let x = 10;
let y = x + '';           // 숫자 x를 바탕으로 새로운 문자열 생성
console.log(typeof y, y); // string 10
console.log(typeof x, x); // number 10

9.3. 단축 평가

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

논리합|| 또는 논리곱&&연산자 표현식의 평가 결과는 언제나 2개의 피연산자 중 어느 한쪽으로 평가되며, 평가는 좌 → 우 방향으로 진행