명시적 타입 변환 -> 개발자가 의도적으로 값의 타입을 변환하는 것, 타입 캐스팅이라고도 부름.
암묵적 타입 변환 -> 개발자의 의도와 상관없이 표현식을 평가하는 도중 자바스크립트 엔진에 의해 암묵적으로 타입이 자동 변환, 타입 강제 변환이라고도 부름.
암묵적 타입 변환은 기존 변수 값을 재할당하여 변경하는 것이 아니라 새로운 타입의 값을 만들어 한번만 사용하고 버린다.
그러나, 명시적 타입 변환은 타입을 변경하겠다는 개발자의 의지가 명백히 드러난다.
명시적 타입 변환
1. 문자열 타입으로의 변환
1-1. String 생성자 함수를 new 연산자 없이 호출
1-2. Object.prototype.toString 메서드를 사용하는 방법
1-3. 문자열 연결 연산자를 이용하는 방법
String(1);
String(NaN);
String(true);
(1).toString();
(NaN).toString();
(true).toString();
1 + ' ';
NaN + ' ';
true + ' ';
.
2. 숫자 타입으로 변환
2-1. Number 생성자 함수를 new 연산자 없이 호출
2-2. parseInt, parseFloat 함수를 사용하는 방법(문자열만 가능)
3. + 산술 연산자를 이용하는 방법
4. * 산술 연산자를 이용하는 방법
Number('0');
Number('-1');
Number('3.14');
parseInt('0');
parseInt('-1');
parseInt('3.14');
parseFloat('0');
parseFloat('-1');
parseFloat('3.14');
+'0';
+'-1';
+'3.14';
1 * '0';
1 * '-1';
1 * '-3.14';