[코딩앙마]JS 기초강좌-형변환

magiri·2022년 8월 23일
0

코딩앙마

목록 보기
4/14

형변환

형변환이 왜 필요한가?
: 자료형이 다른 형들을 연산할때 생기는 의도치 않은 동작을 방지하기 위해

ex)
   const mathScore = prompt("수학몇점?");
   const engScore = prompt("영어몇점?");
   const result = (mathScore + engScore) / 2;
   consolg.log(result)
   
   수학 90, 영어 80 입력했을때 결과값은 4540으로 나옴
   
   const mathScore = 90;
   const engScore = 80;
   const result = (mathScore + engScore) / 2;
   consolg.log(result)
   
   하면 결과값은 85로 정상적으로 나옴
   
   prompt로 입력한 값은 문자형으로 인식되기 때문에 9080 / 2 한 값이 나옴
   그런데 "9080"이 문자인데 나누기 2가 가능한 것은 숫자가 아니더라도 나누기 같은 표현식은 숫자형으로 자동 변환되어 계산됨
이러한 변환을 [자동 형변환], 편리하다고 생각할 수 있으나 원인을 찾기 힘든 에러를 발생시킬 수 있으니 의도를 가지고 원하는 형으로 변환시켜 주는 것을 [명시적 형변환] 이라함
  1. 명시적 형변환 방법
    1) String()
    	console.log(
        String(3),
        String(true),
        String(false),
        String(null),
        String(undefined))
        
        입력시 "3" "true" "false" "null" "undefined"
        문자형으로 변환
        
    2) Number() 사용자로부터 받은값이 문자형일때 자주 사용
    	console.log(
        Number("1234"),
        Number("1234dfadfae"),
        Number(true),
        Number(false),
        
        입력시 1234 NaN 1 0
        숫자형으로 변환
        
    3) Boolean() 0, 빈문자열, null, undefined, NaN 값만 false로 반환 되고 나머지 값들은 전부 true로 반환
    	console.log(
        Boolean(0),
        Boolean(""),
        Boolean(null),
        Boolean(undefined)
        Boolean(NaN))
        
        입력시 false false false false false
        불린형으로 변환

주의사항(그냥 암기)
1. Number(null)은 0
2. Number(undefined)은 NaN
3. Number(0)은 false
4. Number('0')은 true
5. Number('')은 false
6. Number(' ')은 true

0개의 댓글