형변환은 왜 필요할까?
문자열과 문자열을 더하면 두 문자열을 이어서 보여준다.
숫자와 숫자를 더하면 두 수를 합하여 보여준다.
하지만 자료형이 다르면 의도치 않은 동작이 발생할 수 있다.
const mathScore = prompt(“수학 점수를 입력해주세요.”); //90 입력
const engScore = prompt(“영어 점수를 입력해주세요.”); //80 입력
const result = (mathScore + engScore) / 2;
console.log(result); //4540 출력
이러한 결과가 나온 이유는 prompt로 입력 받은 값은 문자형이기 때문이다.
위에서 “90” + “80” = “9080” 이 되고 “9080”/2 = 4540이 된 것이다.
여기서 + 는 문자열+문자열이 되어 두 문자열을 연결시켜준 것이고, /2는 숫자형으로 변환되어 계산된 것이다. 이러한 것을 자동 형변환이라고 한다.
자동 형변환은 원인을 찾기 힘든 에러를 발생시킬 수 있기 때문에 명시적 형변환을 해주는 것이 좋다.
1. String() → 문자형으로 변환
2. Number() → 숫자형으로 변환
3. Boolean() → 불린형으로 변환
1. String()
String(3) → “3”
String(true) → “true”
String(null) → “null”
String(undefined) → “undefined”
2. Number()
Number(“1234”) → 1234
Number(“12abc”) → NaN
Number(true) → 1
Number(false) → 0
Number(null) → 0
Number(undefined) → NaN
주의사항
Number(0) → true
Number(‘0’) → false
Number(‘’) → false
Number(‘ ’) → true
3. Boolean()
불린형의 변환은 false만 기억하고 있으면 된다. false에 해당하는 값 이외에는 모두 true를 반환한다.
false
- 숫자 0
- 빈 문자열 ‘’
- null
- undefined
- NaN
↓[코딩앙마] 자바스크립트 기초 강좌 링크
https://www.youtube.com/watch?v=CwOlWQ1mAqg
'Study > JavaScript' 카테고리의 다른 글
[JavaScript] 기초 #6 - 비교 연산자, 조건문 (if, else) (0) | 2021.08.30 |
---|---|
[JavaScript] 기초 #5 - 기본 연산자 (0) | 2021.08.30 |
[JavaScript] 기초 #3 - alert, prompt, confirm (0) | 2021.08.23 |
[JavaScript] 기초 #2 - 자료형 (0) | 2021.08.23 |
[JavaScript] 기초 #1 - 변수 (0) | 2021.08.23 |