형변환은 숫자와 문자, 문자와 불린, 숫자와 불린등 형이 다른 것들을 연산해 원하는 결과값이 나오도록하기 위해서 필요한 것입니다.
예를 들어서 자바스크립트의 입력 함수인 window.prompt()를 이용해서 만든 입력창에 숫자를 입력했을 경우에 그것을 자바스크립트는 숫자가 아닌 숫자로 된 문자로 인식을 하게 됩니다. 그러니 10을 입력했다 치면 자바스크립트에서 문자를 표시하는 방식인 쌍따옴표가 붙은 "10"이 되는 것이지요. 이 문자를 가지고서는 당연히 수학적인 연산을 하지 못하기 때문에 숫자로 형을 변환해 줘야 하는 것입니다.
숫자로된 문자를 숫자로 형변환 시켜주는 함수는 parseInt(), parsefloat(), Number() 가 있는데요 각각 정수, 실수, 정수와 실수모두를 형변환 하는데 이용이 되고 주로 많이 쓰는 것은 앞의 두개 입니다. ()안에 형을 변환하고 싶은 문자가 담긴 변수를 넣어서 형을 변환하는 것입니다.
예를 들어
var a = "10";
result=parseInt(a)+10;
alert("result="+result);
이렇게 하면 윈도우 팝업창에 결과값으로 숫자 20이 뜨게 됩니다.
자바스크립트에서는 형변환을 직접 해주지 않아도 자동으로 되는 경우가 있는데 숫자와 문자, 불린과 문자를 더하는 코드를 작성했다면 각각 숫자와 불린이 문자로 형변환되어 결과값이 문자가되고 숫자와 불린을 더할 경우에는 불린이 true 일경우엔 숫자 1로, false 일경우에는 숫자0으로 형변환되어 계산이 됩니다. 이렇게 자동으로 형변환이 되는 것을 암시적 형변환이라고 표현하고 있습니다.
위에서 언급한 parseInt(), parsefloat(), Number()를 이용해 직접 형변환을 해주는 것을 명시적 변환이라고 표현합니다.
문자를 숫자로 바꿨다면 숫자를 문자로 바꿀 수 있는 함수도 있는데요 바로 String(), 변수.toString(), 변수.toFixed() 등의 함수를 이용하는 것입니다. toString()는 정수를 포함해 toString(8), toString(16)이렇게 했을 경우 각각 8진수와 16진수 문자로도 변환이 가능합니다. toFixed()는 실수를 문자로 변환할 수 있는데 ()안에 숫자를 적어넣어 그만큼의 소수점 자리수 까지를 문자로 변환합니다.