형 변환

오민영·2023년 2월 16일
0

[2023] Javascript

목록 보기
4/4

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

이 외에 전달 받은 값을 의도를 갖고 원하는 타입으로 변환 (명시적 변환)해 주는 경우도 형 변환이라고 할 수 있다.


문자형으로 변환

문자형의 값이 필요할 때 문자형으로 형 변환을 한다.

String(value) 함수를 호출해서 전달받은 값을 문자열로 변환할 수 있다.

String(value) 

//예시
let value = true;
alert(typeof value) // Boolean

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

숫자형으로 변환

숫자형으로의 변환은 수학과 관련된 함수와 표현식에서 자동으로 일어난다.

숫자형이 아닌 값을 나누기를 적용하면 숫자와 동일하게 연산이 된다.

alert("6" / "2"); // 3, 문자열이 숫자형으로 자동 변환된 후 연산이 수행됨

Number(value) 함수를 사용하면 주어진 값(value)를 숫자형으로 명시해서 변환할 수 있다.

let str = "123";
alert(typeof str); // String

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

alert(typeof num); // Number

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

let age = Number("임의 문자열 123");

alert(age); // NaN, 형 변환이 실패함

숫자형으로 변환 시 적용되는 규칙

전달받은 값형 변환 후
undefinedNaN
null0
true and false1 과 0
string문자열의 처음과 끝 공백이 제거된다. 공백 제거 후 남아있는 문자열이 없다면 0, 그렇지 않다면 문자열에서 숫자를 읽는다. 변환에 실패하면 NaN이 된다.
  • 예시

    alert( Number("   123   ") ); // 123
    alert( Number("123z") );      // NaN ("z"를 숫자로 변환하는 데 실패함)
    alert( Number(true) );        // 1
    alert( Number(false) );       // 0
    alert( Number(null) );       // 0

불린형으로 변환

불린 형 변환은 논리 연산을 수행할 때 사용한다.

Boolean(value)를 호출하면 명시적으로 불리언으로의 형 변환을 수행한다.

불린형으로 변환 시 적용되는 규칙

  • 주의: 문자열 "0" 과 공백이 있는 " “은 true이다.
전달받은 값형 변환 후
숫자 0false
빈 문자열false
nullfalse
undefinedfalse
NaNfalse
위 외의 값true
  • 예시

    alert( Boolean(1) ); // 숫자 1(true)
    alert( Boolean(0) ); // 숫자 0(false)
    
    alert( Boolean("hello") ); // 문자열(true)
    alert( Boolean("") ); // 빈 문자열(false)

Reference

매뉴얼과 명세서

profile
이것저것 정리하는 공간

0개의 댓글