1. parseInt()
- 문자열을 정수로 변환.
- 첫 번째 숫자를 찾으면 변환을 멈추고, 숫자가 아닌 문자가 나오면 무시.
- 두 번째 인자로 radix(진수)를 지정할 수 있음. (기본값: 10진수)
console.log(parseInt("123px")); // 123
console.log(parseInt("12.34")); // 12 (소수점 이하 버려짐)
console.log(parseInt("007")); // 7
console.log(parseInt("0xF", 16)); // 15 (16진수)
console.log(parseInt("abc")); // NaN (숫자로 변환 불가)
2. Number()
- 정수와 소수를 모두 변환 가능.
- 공백이 있으면 자동으로 제거.
- 숫자가 아닌 문자가 포함되면 NaN 반환.
console.log(Number("123")); // 123
console.log(Number("12.34")); // 12.34 (소수 유지)
console.log(Number(" 007 ")); // 7 (공백 제거)
console.log(Number("123px")); // NaN (문자 포함 → 변환 불가)
console.log(Number("0xF")); // 15 (16진수 자동 인식)
console.log(Number("abc")); // NaN
🚀 주요 차이점 정리
특징 | parseInt() | Number() |
반환 값 | 정수 (소수점 이하 버림) | 정수 또는 소수 |
문자 처리 | 숫자가 아닌 문자가 나오면 무시하고 변환 가능 | 숫자가 아닌 문자가 있으면 NaN |
진수 설정 | parseInt("10", 2) → 2 (진수 지정 가능) | Number()는 진수 지정 불가 |
공백 처리 | 숫자 변환 가능 | 공백 자동 제거 후 변환 |
NaN 반환 | 숫자가 없으면 NaN | 숫자가 아닌 문자가 포함되면 NaN |
언제 사용해야 할까?
✅ 정수를 변환할 때: parseInt()
✅ 소수까지 포함해 변환할 때: Number()
✅ 문자 포함된 숫자를 다룰 때: parseInt()
✅ 엄격하게 숫자만 변환할 때: Number()
console.log(parseInt("123abc")); // 123 (가능)
console.log(Number("123abc")); // NaN (불가능)
결론
- 정수 변환: parseInt()
- 실수까지 변환: Number()
- 문자가 섞인 경우 parseInt() 사용, 숫자로만 변환할 땐 Number() 사용!
'Java Script' 카테고리의 다른 글
[javaScript] 스코프 체인과 클로저 (0) | 2024.04.25 |
---|---|
[error] comment are not permitted in json (0) | 2022.04.07 |
async, await, then (0) | 2022.03.29 |
Promise, then (0) | 2022.03.29 |
callback (0) | 2022.03.29 |