JavaScript(14) 원시형타입의 형변환 규칙

김재홍·2022년 9월 4일
0

함수와 연산자에 전달되는 값으 대부분 적절한 자료형으로 자동으로 변환되는데
이러한 과정을 "형 변환"이라고 한다.

문자형으로 변환

문자형으로의 형 변환은 문자형의 값이 필요할 때 일어나는데
alert()함수의 경우 매개변수가 문자형이어야한다.
만약 다른 값을 전달받으면 이 값이 자동으로 문자형으로 변환된다.

문자열의 변환같은 경우 대부분 예측가능한 방식으로 일어난다

규칙

false -> "false"
null -> "null"
1 -> "1"

숫자형으로 변환

숫자형으로의 형 변환은 수학과 관련된 함수와 표현식에서 자동으로 일어난다.
"6"/"2" 와 같은 경우
"6" -> 6
"2" -> 2
으로 변환되어 결과값은 3으로 된다.

의도적으로 변환하려 하는 경우 Number() 함수를 사용하면
매개변수를 숫자형으로 변환할 수 있다.
또한 숫자형이 아닌 값에 +단항연산자를 붙이는 것으로도
Number() 함수와 같은 역할을 할 수 있다.

숫자형 값을 사용해 무언가를 하려 하는데
그 값을 문자 기반 폼을 통해 입력받는 경우
이러한 명시적 형 변환이 필수적이다!

만약 숫자 이외의 글자가 들어있는 문자열을 숫자형으로 만들려고 하면,
그 결과는 NaN이 된다.

규칙

undefined -> NaN
null -> 0
true -> 0 과 1
string -> 문자열의 처음과 끝 공백제거 후 남아있는 문자열이 없으면 0,
그렇지 않으면 문자열에서 숫자를 읽고, 변환에 실패하면 NaN

불린형으로 변환

불린형으로의 변환은 아주 간단하다.
Boolean() 함수를 호출하면 매개변수를 명시적으로 불린형으로 형 변환을 할 수 있다.

규칙

  • 숫자 0, 빈 문자열, null, undefined, NaN -> false
  • 그 외의 값 -> true
    주의! 문자열 "0"은 true

기억해두면 좋은 예외적인 경우

  • 숫자형으로 변환 시 undefined는 0이 아니라 NaN이 된다.
  • 문자열 "0"과 " "과 같은 공백은 불린형으로 변환 시 true가 된다.

0개의 댓글

관련 채용 정보