Study/Javascript
[Javascript] Number, Number.parseInt, parseInt의 차이
DevJaewoo
2022. 9. 26. 21:14
반응형
Intro
Number('123'), Number.parseInt('123'), parseInt('123') 모두 문자열 '123'을 숫자 123으로 변환해준다.
이 세 함수들의 차이가 무엇인지 알아보자.
Number('string')
문자열에 숫자가 아닌 다른 문자가 들어있는 경우 NaN을 반환한다. Ex) '123a', '#123', '1+2', ...
하지만 예외적으로 진법을 나타내는 문자 (0b, 0o, 0xA~F), 음수 ( - ), Infinity는 허용된다.
parseInt
문자열 뒤에 진법을 넘겨줄 수 있다.
또한 숫자가 아닌 다른 문자가 들어있는 경우 해당 문자 이전까지의 값 까지만 변환한다. Ex) parseInt('123z4') => 123
// 아래의 코드들은 전부 15를 반환한다.
parseInt('0xF', 16)
parseInt('F', 16)
parseInt('17', 8)
parseInt(021, 8)
parseInt('015', 10)
parseInt(15.99, 10)
parseInt('15,123', 10)
parseInt('FXX123', 16)
parseInt('1111', 2)
parseInt('15 * 3', 10)
parseInt('15e2', 10)
parseInt('15px', 10)
parseInt('12', 13)
Number.parseInt('string', radix)
parseInt와 동일한 함수다.
Number.parseInt === parseInt
true
참고자료
반응형