함수와 연산자에 전달되는 값으 대부분 적절한 자료형으로 자동으로 변환되는데
이러한 과정을 "형 변환"이라고 한다.
문자형으로의 형 변환은 문자형의 값이 필요할 때 일어나는데
alert()함수의 경우 매개변수가 문자형이어야한다.
만약 다른 값을 전달받으면 이 값이 자동으로 문자형으로 변환된다.
문자열의 변환같은 경우 대부분 예측가능한 방식으로 일어난다
false -> "false"
null -> "null"
1 -> "1"
숫자형으로의 형 변환은 수학과 관련된 함수와 표현식에서 자동으로 일어난다.
"6"/"2" 와 같은 경우
"6" -> 6
"2" -> 2
으로 변환되어 결과값은 3으로 된다.
의도적으로 변환하려 하는 경우 Number() 함수를 사용하면
매개변수를 숫자형으로 변환할 수 있다.
또한 숫자형이 아닌 값에 +단항연산자를 붙이는 것으로도
Number() 함수와 같은 역할을 할 수 있다.
숫자형 값을 사용해 무언가를 하려 하는데
그 값을 문자 기반 폼을 통해 입력받는 경우
이러한 명시적 형 변환이 필수적이다!
만약 숫자 이외의 글자가 들어있는 문자열을 숫자형으로 만들려고 하면,
그 결과는 NaN이 된다.
undefined -> NaN
null -> 0
true -> 0 과 1
string -> 문자열의 처음과 끝 공백제거 후 남아있는 문자열이 없으면 0,
그렇지 않으면 문자열에서 숫자를 읽고, 변환에 실패하면 NaN
불린형으로의 변환은 아주 간단하다.
Boolean() 함수를 호출하면 매개변수를 명시적으로 불린형으로 형 변환을 할 수 있다.