본문 바로가기
Web/JavaScript + TypeScript

[JS]형변환(Casting)

by Pretty Garbage 2022. 6. 22.

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