Study/Javascript

[Javascript] Number, Number.parseInt, parseInt의 차이

DevJaewoo 2022. 9. 26. 21:14
반응형

Javascript LOGO

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

참고자료

반응형