반응형
개요
형 변환이 왜 필요할까?
"문자" + "문자" , "숫자" + "숫자" 같은 형끼리는 연산이 가능하다.
"Hello" + "World" = "HelloWorld" , 100 + 200 =300
그렇다면 "문자" + "숫자" 또는 "숫자" + "문자" 라면? 어떻게 계산을 해야할까?
아래 예시 코드를 보면
const mathScore = prompt("수학 몇점?"); //수학 90 입력함
const egScore = prompt("영어 몇점?"); //영어 80 입력함
const result = (mathScore + egScore) / 2;
console.log(result);

prompt()의 경우 입력 값을 항상 문자로 인식한다.
따라서, 90 + 80 = 170이 아닌 "90" + "80" = "8090"으로 해석한 것이다.
그렇다면 "8090" / 2 = 4540 같이 제대로 된 계산이 나왔을까?
→ 숫자형이 아니더라도 나누기(/) 같은 표현식은 자동으로 숫자형으로 자동변환이 되는데 이를 자동 형 변환이라고 한다.
EX) "6" / "2" = 3 이 된다
위와 같이 자동 형 변환이 된다면 편리하다고 생각할 수 있겠지만, 알 수 없는 에러를 발생시킬 수 있기 때문에 자신이 원하는 타입으로 변환해 주는 것이 좋다.
String()
- 괄호 안의 타입을 문자형으로 바꿔준다
console.log(String(3),
String(true),
String(false),
String(null),
String(undefined)
)

Number()
- 괄호 안의 타입을 숫자형으로 바꿔준다
- 사용자로부터 입력받은 값이 문자형인 경우 자주 사용
console.log(
Number("1234"), // 1234
Number("1234aasd"), // NaN
Number(true), // 1
Number(false) // 0
)

Boolean
- Boolean 형으로 바꿔주는데 false의 케이스만 기억하면 된다
False
- 숫자 0
- 빈 문자열 "", ''
- null
- undefined
- NaN
이 외는 모두 True 다
console.log(
Boolean(1),
Boolean(123),
Boolean("JavaScript")
)
console.log(
Boolean(0),
Boolean(''),
Boolean(null),
Boolean(undefined),
Boolean(NaN)
)

요약
String() → 문자형으로 변환
Number() → 숫자형으로 변환 / Number("문자")는 NaN
Boolean() -> Boolean형으로 변환 false만 기억
0, '', "", null, undefined, NaN = False
암기
Number(null) = 0
Number(undefined) = NaN
Boolean(0) = false
Boolean("0") = true
Boolean('') = false
Boolean(' ') = true
반응형
'JavaScript > 기초' 카테고리의 다른 글
| #6 비교 연산자와 조건문 (0) | 2026.01.06 |
|---|---|
| #5 연산자 (0) | 2026.01.06 |
| #3 alert, prompt, confirm (0) | 2026.01.06 |
| #2 자료형 (0) | 2026.01.06 |
| #1 변수 (0) | 2026.01.06 |