Number()와 ParseInt() 차이점

date
Mar 15, 2022
slug
javascript-number-parseint
summary
JavaScript, Number(), ParseInt() 차이점
thumbnail
status
publish

1. 숫자가 아닌 값

ParseInt

parseInt('10px'); // 10 parseInt('너비:10px'); // NaN parseInt('10e2'); // 10 parseInt('10.123'); // 10
첫번째 만나는 숫자 문자열만을 숫자 인식하여 파싱합니다. 하지만 숫자가 첫번째로 인식이 안되면 NaN을 반환합니다.

Number

Number('10px'); // NaN Number('10e2'); // 10 * 10^2 = 1000, exponential Number('10.123'); // 10.123
문자열 전체를 인식하여 숫자가 아니라면 NaN 을 반환합니다.

2. 두번째 인자

parseInt

parseInt('0101'); // 101 parseInt('0101', 10); // 101, 10진수 parseInt('0101', 2); // 5, 2진수
2번째 인자를 사용하여 진법 계산을 할 수 있습니다.

3. undefined, null 변환

ParseInt

parseInt(); // NaN parseInt(null); // NaN parseInt(true); // NaN parseInt(''); // NaN Number(undefined); // NaN
항상 NaN 을 반환합니다.

Number

Number(); // 0 Number(null); // 0 Number(true); // 1 Number(''); // 0 Number(undefined); // NaN
null과 boolean 을 숫자로 변환해줍니다.

'+' operator

+'010'; // 10 +'10e2'; // 1000
여담으로 '+' operator 는 Number 와 동일하게 작동합니다!

결론

빠른고 간단한 변환을 위해서는 Number 구체적인 변환을 지정하기 위해서는 parseInt 알고리즘 문제에서 문자를 포함한 변환은 대부분 필요하지 않기 때문에 Number를 이용! 😁