형변환이 필요한 이유 : 자동형변환에 의해 작업 시 원하지 않는 자료형으로 변환/작업되는 일을 방지하기 위해 명시적형변환이 필요.
propmt로 입력받은 값은 항상 문자형으로 인식됨. 사용자에게 숫자 변수를 입력받으면 그 값은 문자로 인식됨. -> 명시적형변환 필요
console.log(
Number("45");
Number("asdf");
Number(true);
Number(false);
);
> 45 NaN 1 0
Number(null) // 0
Number(undefined) // NaN
:: 사용자에게 prompt로 입력받을 시, 사용자가 취소를 누른다면 null값이 들어오게 되고 숫자형으로 형변환시 숫자 0이 됨.
Boolean(0) // false
Boolean("0") // true (문자가 들어왔기 때문)
Boolean("") // false
Boolean(" ") // true (공백 문자가 들어왔기 때문)