Web/JAVASCRIPT
[JavaScript] 행변환
kkkkk1023
2023. 4. 20. 20:54
prompt로 입력 받은 값은 문자형이다.
그렇기 때문에 숫자를 입력 받아도 90이 아닌 "90"이 된다.
const mathScore = prompt("수학은 몇점인가요?"); // "90"
const engScore = prompt("영어는 몇점인가요?"); // "60"
const result = (mathScore + engScore) / 2; // "90" + "60" = "9060", "9060" / 2 = 4530
console.log(result);
여기서 "9060" / 2가 연산이 되었던 이유는 자동 행변환 덕분이다.
오류를 발생시킬 수 있기 때문에 자동으로 시스템에서 형변환을 시킨겄이다.
행변환은 아래의 3가지가 있다.
1. String()
- 괄호 안의 타입을 문자열로 변경해준다.
2. Number()
- 괄호 안의 타입을 숫자로 변경해준다.
- 괄호 안에 "문자"가 있다면 NaN이 된다.
- Number(null) -> 0 / Number(undefined) -> NaN
3. Boolean()
- 괄호 안의 타입을 boolean으로 변경해준다.
- boolean은 아래의 값들만 기억하면 된다. 해당 값들을 제외하고는 모두 true이기 때문이다.