타입 변환

자바스크립트의 모든 값은 타입이 있다.

값의 타입은 개발자의 의도에 따라, 다른 타입으로 변경할 수 있다.

개발자가 의도적으로 값의 타입을 변경하는 것을 명시적 타입 변환이라고 한다.

var x = 10;
//명시적 타입 변환
//숫자를 문자열로
var str = x.toString();
console.log(typeof(str)); //string 10

개발자의 의도와 상관없이, 표현식 평가 과정에서 자바스크립트 엔진에 의해 타입이 자동변환되기도 한다. (암묵적 타입 변환)

var x = 10;

//암묵적 타입 변환
//x의 값을 바탕으로 새로운 문자열 생성
var str = x + '';
console.log(typeof(str)); //string

//x변수의 값이 변경된 것은 아니다
console.log(typeof(x)); //number

암묵적 타입 변환이 기존 원시값(위의 예제에서는 x)을 변경하는 것은 아니다.

원시 값은 변경 불가능 한 값이므로, 변경할 수 없다.

기존 원시 값을 바탕으로 새로운 다른 타입의 값을 생성하는 것이다.

-암묵적 타입 변환의 다른 예시들-

'10' + 2; //-> '102'

5 * '10' // -> 50

!0 - >true

문자열 타입으로의 변환