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이기 때문이다.
'Web > JAVASCRIPT' 카테고리의 다른 글
Browser Object Model(BOM) (0) | 2023.06.30 |
---|---|
HTML에서 JavaScript 로드하기 (0) | 2023.06.29 |
[JavaScript] alert, prompt, confirm (0) | 2023.04.10 |
[JavaScript] 자료형 (0) | 2023.04.08 |
[JavaScript] 변수 (0) | 2023.04.08 |