함수와 연산자에 전달되는 값은 대부분 적절한 자료형으로 자동 변환되는데, 이 과정을 "형변환" 이라고 한다.
- 숫자형으로 변환
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로 변환됩니다.
'JavaScript' 카테고리의 다른 글
[JavaScript] 논리 연산자 (0) | 2022.04.23 |
---|---|
[JavaScript] 조건부 연산자 '?' (0) | 2022.04.23 |
[JavaScript] 연산자 (0) | 2022.04.23 |
[JavaScript] 사용자와 상호작용할 수 있는 함수 / alert, prompt, confirm (0) | 2022.04.23 |
[JavaScript] typeof 연산자 (0) | 2022.04.22 |