Type conversion
Type casting
Type coercion
Type juggling
다른 Data type 으로의 변환을 의미
String() -> Conversion To String
Number() -> Conversion To Number
Boolean() -> Conversion To Boolean
* 두 과목 합의 평균 구하기
const math = prompt("수학 점수 입력"); // 20
const science = prompt("과학 점수 입력"); // 80
const result = (math + science) / 2;
console.log(result) // "1040"
형 변환이 필요한 이유 : 서로 다른 자료형이 합쳐질경우 의도와는 다른 결과물 발생
prompt
로 입력받은 값은 문자형 // ("20"+"80")/2 = "1040"
console.log("6" / "2") ....... // 3 (자동 형 변환)
console.log(
String(3),
String(true),
String(false),
String(null),
String(undefined)
)
..// "3" "true" "false" "null" "undefined"
consoe.log(
Number("123"),
Number("123abc"),
Number(true),
Number(false)
)
..// 123 NaN 1 0
*주의사항
Number(null) // 0
Number(undefined) // NaN
- 숫자 0
- 빈 문자열
""
- null
- undefined
- NaN
../ / 모두 false 반환
*주의사항
Number(0) // false
Number('0') // true
Number('') // false
Number(' ') // true << [공백(space)이 있는 빈 문자열]