본문 바로가기

JavaScript

[JavaScript] 형변환

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

 

- 숫자형으로 변환

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, 형 변환이 실패합니다.

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

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

 

- 불린형으로 변환

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

1. 숫자 0, 빈 문자열, null, undefined, NaN과 같이 직관적으로도 “비어있다고” 느껴지는 값들은 false가 됩니다.

2. 그 외의 값은 true로 변환됩니다.

alert( Boolean(1) ); // 숫자 1(true)
alert( Boolean(0) ); // 숫자 0(false)

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

// 주의: 문자열 "0"은 true입니다.
alert( Boolean("0") ); // true
alert( Boolean(" ") ); // 공백이 있는 문자열도 비어있지 않은 문자열이기 때문에 true로 변환됩니다.