[형 변환]
String() : 문자형으로 변환
Number() : 숫자형으로 변환
Boolean() : 불린형으로 변환
형변환이 필요한 이유?
-> 자료형이 다르면 의도치 않은 동작이 발생할 수 있음
const mathScore = prompt("수학 몇점?");
const engScore = prompt("영어 몇점?");
const result= (mathScore + engScore) / 2 ;
console.log(result);
수학 90, 영어 80을 입력하고 콘솔 창에 나오는 결과를 보자 4540이라는 전혀 이상한 값이 나온다.
prompt 입력 -> 문자형이기에, 숫자 90이 아닌 문자 90으로 인식한 것
=> "9080" / 2 =4540 이라는 의도하지 않은 결과 도출
*나누기는 자동 형변환이 되어짐
=>(-) 원인을 찾기 힘든 에러 발생시킴
의도를 가지고 원하는 타입으로 변환해 주는게 좋음
=> 명시적 형변환
//String() : 문자형으로 변환시켜 줌
console.log(
String(3),
String(true),
String(false),
String(null),
String(undefined)
)
//Number():숫자형으로 바꿔줌
console.log(
//Number("123a")
Number(true),
Number(false)
)
*주의사항
Number(null) // 0
Number(undefined) // Nan
Number(0) //false
Number('0') //true
Number('') //false
Number(' ') //공백 들어감-> true
//Boolean():불린형으로 바꿔줌
console.log(
Boolean(0),
Boolean(""),
Boolean(null),
Boolean(undefined),
Boolean(NaN)
)

위 5가지를 제외하고 모두 true 나옴
'Programming Study > JavaScript' 카테고리의 다른 글
[JS 기초 Day 2] 논리 연산자 (0) | 2022.03.07 |
---|---|
[JS 기초 Day 2] 비교 연산자, 조건문 (0) | 2022.03.07 |
[JS 기초 Day 1] 연산자 (0) | 2022.03.05 |
[JS 기초 Day 1] 대화상자 (0) | 2022.03.05 |
[JS 기초 Day 1] 변수, 자료형 (0) | 2022.03.05 |