[Javascript] 5. 형변환

Eden·2022년 7월 28일
0

Javascript

목록 보기
5/33
post-thumbnail

업로드중..

형변환

Srting()
문자형으로 변환

Number()
숫자형으로 변환

Boolean()
불린형으로 변환

왜 형변환이 필요할까?

  • 자료형이 같을 때,
    문자는 문자끼리 숫자는 숫자끼리 합쳐지는 것을 알 수 있다.
<script>
"Hello" + "daydreamplace" = "Hello daydreamplace" //문자형 + 문자형 = 문자형

100 + 200 = 300 //숫자형 + 숫자형 = 숫자형
</script>
  • 자료형이 다를 때,
    의도치 않은 동작이 발생할 수 있다.
<script>
const mathScore = prompt("수학 몇점?");//90
const engScore = prompt("영어 몇점?");//80
const result = (mathScore + engScore) /2;

console.log(result)//4540
??????????????????????????????? 이상하다
------------------------------
onst mathScore = 90
const engScore = 80
const result = (mathScore + engScore) /2;

console.log(result)//85


</script>

prompt로 받은 값은 무조건 문자형이다.
문자와 문자를 더하면 그대로 이어져서 "9080"이라는 값이 나와 나누기 2를 했을 때 4540이 나왔다.
이때 / 표현식은 숫자형이 아니더라도 자동으로 숫자형으로 변환돼 /2가 정확하게 동작했다.
이러한 과정을 자동 형변환이라고 한다.

자동으로 변환돼서 편리하다고 생각할 수 있지만, 이러한 작업은 원인을 찾기 힘든 에러를 발생시킬 수 있기 때문에 항상 의도를 가지고 원하는 타입으로 변환해주는 것이 좋다.

이러한 과정을 명시적 형변환 이라고 할 수 있다.

1. String()

String()은 타입을 문자형으로 바꿔준다.

<script>
String(3)
String(true)
String(false)
String(null)
String(undefined)

console.log(
String(3),
String(true),
String(false),
String(null),
String(undefined))
//"3""true""false""null""undefined"
//문자열로 잘 변환된 것을 알 수 있다.
</script>

2. Number()

Number()은 타입을 숫자형으로 바꿔준다.
보통 사용자로부터 입력받은 문자형에 자주 사용된다.

<script>
Number("1234")
Number("1234asdf")
Number("true")
Number("false")

console.log(
Number("1234"),
Number("1234asdf"),
Number("true"),
Number("false"),
)
//1234 NaN 1 0
//숫자로 잘 변환된 것을 알 수 있다.
</script>

3. Boolean()

Boolean()은 타입을 불린형으로 바꿔준다.
불린형의 변화는 보통 false의 케이스만 기억하면 된다

false

  • 숫자 0
  • 빈 문자열 ""
  • null
  • undefined
  • NaN

이외에는 모두 true를 반환합니다.

*주의사항

<script>
Number(null);//0
Number(undefined)//NaN

Number(0);//false
Number('0')//true

Number('');//false
Number(' ')//true
</script>

그냥 외우는 편이 좋다.

profile
one part.

0개의 댓글