[JavaScript] parseInt() vs. Number() vs. Number.parseInt()

jwp9633·2022년 7월 8일
0

JavaScript

목록 보기
11/28

parseInt(), Number(), Number.parseInt()는 문자열에서 숫자를 추출할 때 사용하는 등 비슷한 부분이 있지만, 분명한 차이가 있어서 사용할 때 조심해야 한다.

parseInt()

문자열 인자를 파싱하여 특정 진수(ex. 십진수, 이진수 등)의 정수를 반환한다.

구문

parseInt(string)
parseInt(string, radix)

매개변수

string

  • 파싱할 값
  • 문자열이 아닐 경우 ToString 추상 연산을 사용해 문자열로 변환한다.
  • 문자열의 선행 공백은 무시한다.

radix (선택사항)

  • string의 진수를 나타내는 2부터 36까지의 정수
  • 기본 값이 10이 아니므로 주의해야 한다.
  • Number 자료형이 아닌 경우 Number로 변환한다.

반환 값

  • 주어진 string에서 파싱한 radix 진수로 표현한 정수
  • 다음과 같은 경우에는 NaN을 반환
    • radix가 2보다 작거나 36보다 큰 경우
    • 공백이 아닌 첫 문자를 숫자로 변환할 수 없는 경우

Number()

문자열이나 다른 값을 Number 타입으로 변환한다.

구문

Number(value)

반환 값

  • value를 숫자 타입으로 변환하고 그것을 반환한다.
  • 숫자로 변환할 수 없으면 NaN을 리턴한다.

Number.parseInt()

문자열 인자를 파싱하여 특정 진수(ex. 십진수, 이진수 등)의 정수를 반환한다.

  • 전역 parseInt() 함수와 기능적으로 동일하게 작동한다.
Number.parseInt === parseInt // true

구문

Number.parseInt(string)
Number.parseInt(string, radix)

매개변수

string

  • 파싱할 값
  • 문자열이 아닐 경우 ToString 추상 연산을 사용해 문자열로 변환한다.
  • 문자열의 선행 공백은 무시한다.

radix (선택사항)

  • string의 진수를 나타내는 2부터 36까지의 정수
  • 기본 값이 10이 아니므로 주의해야 한다.
  • Number 자료형이 아닌 경우 Number로 변환한다.

반환 값

  • 주어진 string에서 파싱한 radix 진수로 표현한 정수
  • 다음과 같은 경우에는 NaN을 반환
    • radix가 2보다 작거나 36보다 큰 경우
    • 공백이 아닌 첫 문자를 숫자로 변환할 수 없는 경우

parseInt()와 Number()의 차이점

  • 의미적으로 다르다.
    parseInt()는 Int를 파싱하는 함수이고, Number()number 타입으로 변환하는 함수이다.
  • parseInt()는 문자열에서 공백이 아닌 첫 문자부터 숫자로 변환한다.

parseInt()와 Number.parseInt()의 차이점

  • parseInt()는 인터넷 익스플로러에서 지원한다.
  • Number.parseInt()는 인터넷 익스플로러에서 지원하지 않는다.
  • 그 외는 동일한 기능을 갖는다.

참고문헌

profile
JUST DO IT.

0개의 댓글