[JavaScript] 데이터 형 변환 (문자형, 숫자형, 불린형으로 변환)
목차
2. 문자형으로 변환하기
3. 숫자형으로 변환하기
4. 불린형으로 변환하기
형 변환
1. 자동으로 변환됨
- 함수와 연산자에 전달되는 값은 대부분 적절한 자료형으로 자동 변환된다.
- ex) alert는 전달받은 값의 자료형과 관계없이 이를 문자열로 자동변환해서 보여준다.
2. 의도적으로 원하는 타입으로 변환함
- 함수를 호출해서 의도적으로 변화시킨다. (ex. String(), Number(), Boolean()...)
문자형으로 변환하기
- alert메서드는 매개변수로 문자형을 받기 때문에, alert(value)에서 value는 문자형이어야함
- 만약, 다른 형의 값을 전달받으면 이 값은 문자형으로 자동 변환됨
- String(value) 함수를 호출해 전달 받은 값을 문자열로 변환 할 수도 있음
- true는 문자열 "true"로, null은 문자열 "null"로 변환되는 것과 같이, 문자형으로의 변환은 대부분 예측 가능한 방식으로 일어남
숫자형으로 변환하기
- 숫자형 값을 사용해 무언가를 하려고 하는데, 그 값을 문자 기반 폼(form)을 통해 입력 받는 경우엔, 명시적 변환이 필수이다.
- 수학과 관련된 함수와 표현식에서 자동으로 일어난다.
- 문자열에 나누기를 해도 문자열이 숫자형으로 자동변환 된 후 연산이 수행된다.
- Number(value) 함수를 호출해 전달 받은 값을 숫자형으로 변환 할 수도 있음
- 한편, 숫자 이외의 글자가 들어가 있는 문자열을 숫자형으로 변환하려고하면, 그 결과는 NaN이 된다.
- 숫자형으로 변환 시 적용되는 규칙
전달받은 값 | 형 변환 후 |
undefined | NaN |
null | 0 |
true and false | 1 과 0 |
string | 문자열의 처음과 끝 공백이 제거된다. 공백 제거 후 남아있는 문자열이 없다면 0, 그렇지 않다면 문자열에서 숫자를 읽는다. 변환에 실패하면 NaN이 된다. |
불린형으로 변환하기
- Boolean(value) 함수를 호출해 전달 받은 값을 불린형으로 변환 할 수도 있음
- 불린형으로 변환 시 적용되는 규칙 (직관적으로 비어있다고 느껴지는 값은 false, 그 외에는 true)
숫자 0 | false |
빈 문자열 | |
null | |
undefined | |
NaN |
- 주의1) 문자열 "0"은 true이다! (비어있지 않은 문자열은 언제나 true야!)
- 주의2) 공백이 있는 문자열도 비어있지 않은 문자열이기 때문에 true다!
참고 자료