Programming Study/JavaScript

[JS 기초 Day 1] 형 변환(Type Conversion)

myejinni 2022. 3. 5. 19:27

[형 변환]

 

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 나옴