본문 바로가기

Languages/JavaScript

[JavaScript] 데이터 형 변환 (문자형, 숫자형, 불린형으로 변환)

728x90

   목차 

1. 형 변환
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이 된다.

 

 

undefined는 형 변환 후 NaN이 됨

 

 

null은 형 변환 후 0이 됨

 

 

true는 1, false는 0이 됨

 

 

공백 제거 후 남아 있는 문자열이 없다면 0이 됨

 

 

공백 제거 후 문자열에서 숫자를 읽고, 숫자로 변환에 성공한 경우

 

 

문자열에서 숫자를 읽었으나 변환에 실패하면 NaN이 됨

 

 


 

 

 불린형으로 변환하기 

 

- Boolean(value) 함수를 호출해 전달 받은 값을 불린형으로 변환 할 수도 있음


- 불린형으로 변환 시 적용되는 규칙 (직관적으로 비어있다고 느껴지는 값은 false, 그 외에는 true)

 

숫자 0 false
빈 문자열
null 
undefined
NaN

 

 

 

- 주의1) 문자열 "0"true이다! (비어있지 않은 문자열은 언제나 true야!)
- 주의2) 공백이 있는 문자열도 비어있지 않은 문자열이기 때문에 true다!

 

 

 

 

 

 

참고 자료

https://ko.javascript.info/type-conversions

728x90