String() -> 문자형으로 변환
Number() -> 숫자형으로 변환
Boolean() -> 불린형으로 변환
prompt로 입력을 받게되면 문자열형으로 입력을 받게 되는데
이 때 점수 평균을 내는 프로그램을 만든다라고 가정했을 시
국어 90 수학 80 이라는 값을 입력받는다고 가정한다.
(90 + 80) / 2 = 85라고 예상되어지지만 실제 출력은
4540 이라는 값이 나오게 된다. 왜냐하면 문자열형으로 입력을 받기 때문에
90+80 = 9080 !?!? 이 되는데 이는 문자열 + 문자열시에 앞의 문장과 뒤에 문장을
이어버리기 때문!
그래서 명시적으로 형변환을 해줘야하는데
const mathScore = prompt("수학 몇점?");
const engScore = prompt("영어 몇점?");
const result = (Number(mathScore) + Number(engScore)) / 2;
console.log(result);
위와 같은 식으로 명시적으로 형변환을 시도하면 된다.
C#의 경우에는 (int)mathScore + (int)engScore 나 int.parse 같은 것으로 활용하면 되겠다.
(안전한 프로그램을 위해서 int.tryparse를 추천)
'Web > JavaScript + TypeScript' 카테고리의 다른 글
[JS] 논리 연산자 (0) | 2022.06.29 |
---|---|
[JS] 비교 연산자 및 조건문 (0) | 2022.06.29 |
[JS] alert, prompt, confirm (0) | 2022.06.22 |
[JS]자료형 (0) | 2022.06.20 |
[JS] 변수와 상수 (0) | 2022.06.20 |