요소를 형변환시키는 방법들
1. 타입을 문자열로 변환
2. 타입을 숫자형으로 변환
3. 타입을 불리언형으로 변환
4. 자동 형변환
1. 타입을 문자열로 변환
- 숫자형or 불리언형.toString
(1234).toString // "111"
(NaN).toString // "NaN"
(Infinity).toString //"Infinity"
(true).toString() //"true"
(false).toString() //"false"
- String(숫자형,불리언형)
String(1234) // "111"
String(Nan) // "NaN"
String(Infinity) //"Infinity"
String(true)
String(false)```
- 숫자형,불리언형+""
1234+""// "111"
Nan+"" // "NaN"
Infinity+"" //"Infinity"```
true+"" // "true"
""+false // "false"
2. 타입을 숫자형으로 변환
- parseInt(정수 문자열) || parseFloat(실수 문자열)
: 소수가 없는 정수는 parseInt(), 소수가 있는 실수는 parseFloat()를 사용한다parseInt("11") // 11 정수
parseFloat("11.55") // 11.55 소수
parseInt("NaN") // NaN
parseFloat("NaN") // NaN
parseInt("Infinity") // Infinity
parseFloat("Infinity") // Infinity
parseInt("Hello") // NaN
- Number(문자열 or 불리언형)
- +(문자열 or 불리언형)
- (문자열 or 불리언형) * 1
3. 타입을 불리언형으로 변환
- 숫자형->불리언형
- Boolean()
Boolean()함수는 아래의 5가지 경우를 제외하고는 모두 true를 반환한다Boolean(0) //숫자 0
Boolean(NaN) //NaN
Boolean('') //빈문자열
Boolean(null) //null
Boolean(undefined) //undefined형
다른 예시들)Boolean(0); // false
Boolean(1); // true
Boolean(-11.55); // true
Boolean(NaN); // false
Boolean(Infinity); // true
Boolean(-Infinity); // true
- !!를 사용해서 숫자를 불리언값으로 바꿔줄 수도 있다
!!(0); // false
!!(1); // true
!!(-11.55); // true
!!(NaN); // false
!!(Infinity); // true
!!(-Infinity); // true
- 문자열->불리언형
- 빈문자열('')은 false, 나머지는 모두 true.
Boolean(''); // false
Boolean(' '); // true
Boolean('hello'); // true
Boolean('true'); // true
Boolean('false'); // true
- !!
!! (''); // false
!! (' '); // true
!! ('hello'); // true
!! ('true'); // true
!! ('false'); // true
- 배열,객체->불리언형
- undefined, null -> 불리언형
4. 자동 형변환
- JavaScript는 자동으로 자료형을 변환하는 경우가 많다.
숫자와 문자열을 더할 때 숫자보다는 문자열이 우선시 된다. alert('52 + 273'); // 52 + 273
alert(52 + 273); // 325
alert('52' + 273); // 52273
alert(52 + '273'); // 52273
alert('52' + '273'); // 52273
- 반면, 더하기를 제외한 사칙 연산자는 숫자형이 우선된다
alert('52 * 273'); // 52 * 273
alert(52 * 273); // 14196
alert('52' * 273); // 14196
alert(52 * '273'); // 14196
alert('52' * '273'); // 14196
참조: https://curryyou.tistory.com/187?category=898979 [카레유]