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); // NaNnull과 boolean 을 숫자로 변환해줍니다.
'+' operator
+'010'; // 10
+'10e2'; // 1000여담으로 '+' operator 는 Number 와 동일하게 작동합니다!
결론
빠른고 간단한 변환을 위해서는
Number구체적인 변환을 지정하기 위해서는parseInt알고리즘 문제에서 문자를 포함한 변환은 대부분 필요하지 않기 때문에 Number를 이용! 😁