함수와 연산자에 전달되는 값은 대부분 적절한 자료형으로 자동변환된다.
이런과정을 "형 변환(type conversion)"이라고 한다.
문자형으로의 형 변환은 문자형의 값이 필요할 때 일어남.
alert메서드는 매개변수로 문자형을 받기 때문에, alert(value)에서 value는 문자형이어야 함. 만약 다른 형의 값을 전달 받으면 이 값은 문자형으로 자동변환.
String(value) 함수를 호출해 전달받은 값을 문자열로 변환 할 수도있다.
let value = true;
alert(typeof value); //boolean
value = String(value); //변수 value엔 문자열 "true"가 저장.
alert(typeof value); //string
문자형으로의 변환은 대부분 예측 가능한 방식으로 일어남.
숫자형으로의 변환은 수학과 관련된 함수와 표현식에서 자동으로 일어남.
숫자형이 아닌 값에 나누기(/)를 적용한 경우처럼!
alert("6"/"2"); //3 문자열이 숫자형으로 자동변환된 후 연산수행
Number(value)함수를 사용하면 주어진 값(value)을 숫자형으로 명시해서 변환할 수 있다.
let str = "123";
alert(typeof str); //string
let num = Number(str); //문자열 "123"이 숫자 123으로 변환된다.
alert(typeof num); //number
한편, 숫자 이외의 글자가 들어가 있는 문자열을 숫자형으로 변환하려고하면, 그 결과는 NaN.
숫자형으로 변환 시 적용되는 규칙.
null->0, undefined-> NaN 유의!
논리연산을 수행할때 발생, Boolean(value)를 호출하면 명시적으로 불리언으로의 형 변환을 수행할 수 있음.