함수와 연산자에 전달되는 값은 대부분 적절한 자료형으로 자동 변환 된다. 이러한 과정을 형 변환(type conversion)이라고 한다.
alert가 전달받은 값의 자료형과 관계없이 문자열로 자동 변환하여 보여주는 것이나, 수학 관련 연산자가 전달받은 값을 숫자로 변환하는 경우가 대표적인 예시이다. 전달받은 값을 원하는 타입으로 변환(명시적 변환)해주는 경우도 형 변환이라고 할 수 있다.
문자형의 값이 필요할 때 일어난다.
alert 메서드나, String 함수의 경우 전달받은 값을 문자형으로 자동 변환한다.
수학과 관련된 함수와 표현식에서 자동으로 일어난다.
alert("6"/"2"); //3
문자열이 숫자형으로 자동변환된 후 연산이 수행된다.
숫자 이외의 글자가 들어가 있으면, 결과는 NaN이 된다.
alert("6 나누기 2"); //NaN
null과 undifined는 숫자형으로 변환 시 결과가 다르다.
null은 0이 되고, undifiend는 NaN이 된다.
alert(Number(false)); //0
alert(Number(true)); //1
논리 연산을 수행할 때 발생한다.
0, 빈 문자열, null, undefined, NaN과 같이 비어있는 값들은 false, 그 외의 값은 true로 변환된다.