[모던 자바스크립트 튜토리얼] 2.7 형 변환

개발견 배도르만·2023년 2월 15일
0
post-thumbnail

🔁 형 변환(type conversion)

함수와 연산자에 전달되는 값은 대부분 적절한 자료형으로 자동 변환된다. 또한 개발자가 명시적으로 값의 자료형을 변경할 수 있다.

이 과정을 형 변환이라고 한다.

ex) alert 함수 인자의 자료형에 상관없이 이를 문자열로 출력하는 것
    
    수학 관련 연산자가 전달받은 값을 숫자로 변환하는 경우

(객체의 형 변환은 추후 챕터에서 다룬다.)

1. 문자형으로 변환

문자형의 값이 필요할 때 일어난다.

  • alert(value) : alert함수는 매개변수로 문자형을 받게 되어있으므로 인자는 문자형이어야 하며 다른 타입의 값을 전달받을 때 이 값은 문자형으로 자동 변환된다.
ex) boolean형 true -> 문자열 'true'  
    
    숫자형 123 -> 문자열 '123'
    
    null -> 'null'
  • 명시적 변환은 값을 String()에 넣어주면 된다.
ex) let value = true;
alert(typeof value); // boolean

value = String(value); // 변수 value엔 문자열 "true"가 저장된다.
alert(typeof value); // string

2. 숫자형으로 변환

수학과 관련된 함수와 표현식에서 일어난다.

  • alert('6' / '2'); // 3이 출력된다. 문자형 6과 2가 연산자에 의해 숫자형으로 변환되어 연산되고, alert 함수에 의해 다시 문자형으로 변환되어 출력된다.

  • 명시적 변환은 값을 Number()에 넣어주면 된다.
    (이 때 문자형이 하나라도 있으면 NaN이 된다.)

ex)let str = "123";
alert(typeof str); // string

let num = Number(str); // 문자열 "123"이 숫자 123으로 변환된다.

alert(typeof num); // number
  • 그 외 값의 변환
 null -> 0
 true -> 1
 false -> 0
 undefined -> NaN

3. 불린형으로 변환

논리 연산을 수행할 때 발생한다.
(논리 연산에 관한 내용은 뒤 챕터에서 다룬다.)

  • 명시적 변환도 수행 가능하다.

  • 불린형으로 변환 시 규칙은 다음과 같다.

  • 0, '', "", ``, null, undefined, NaN``` ===> false
    
  • 위과 같이 직관적으로 빈 느낌의 값들은 false로 변환된다.

  • 그 외의 값은 true로 변환된다. true로 변환되는 값 중 문자열 0과 문자열 공백이 있다.

profile
네 발 개발 개

0개의 댓글