오예남

[Javascript] parseInt() 함수와 Number() 함수의 차이 본문

기타코딩

[Javascript] parseInt() 함수와 Number() 함수의 차이

오예남 2021. 9. 16. 22:02

parseInt() 함수와 Number() 함수의 차이

 

 

parseInt() 함수와 Number() 함수 모두 문자열 타입의 숫자를 'number' 타입으로 변환해 주는 기능이 있습니다. 

아래에 간단한 예시를 보여드리겠습니다.

 

a = '2021';
b = parseInt(a);
c = Number(a);

typeof(a);
typeof(b);
typeof(c);


(결과) ----
'string'
'number'
'number'

 

▲ 위와 같이 parseInt(), Number() 함수 모두 string 을 number 형태로 바꿔주었습니다.

 


그럼 차이점은 어떤게 있을까요?

 

parseInt('3.14')
Number('3.14')


(출력) ----
3
3.14

 

▲ parseInt() 함수는 소수점을 표시하지 못합니다. (parseFloat() 함수를 사용하면 가능함)

 

parseInt('4명')
Number('4명')


(출력) ----
4
NaN

 

▲ parseInt()는 문자열이라도 숫자로 시작한다면 숫자만 뽑아서 number 타입으로 변환해줄 수 있고,

Number() 함수는 숫자로 변환할 수 없는 문자열은 NaN을 출력합니다.

 

 

parseInt('제1회')
Number('제1회')


(출력) ----

NaN
NaN

 

▲ 만약 문자열의 첫문자가 숫자가 아니라면 두 함수 모두 NaN을 출력합니다.

 


정리하면..

똑같은 기능을 굳이 두가지로 만들 이유는 없습니다.

위에 정리된 것 처럼 각각 다른 기능을 가지고 있으니, 각 함수들의 특징을 이해하고 나의 목적에 맞는 함수를 사용하시면 됩니다. 

각 함수의 정확한 설명은 아래 첨부한 'MDN' 링크를 참고해주세요.

 

 

parseInt() - JavaScript | MDN

parseInt() 함수는 문자열 인자를 구문분석하여 특정 진수(수의 진법 체계에 기준이 되는 값)의 정수를 반환합니다.

developer.mozilla.org

 

 

Number - JavaScript | MDN

Number 객체는 숫자 값으로 작업할 수 있게 해주는 래퍼(wrapper) 객체입니다. Number 객체는 Number() 생성자를 사용하여 만듭니다. 원시 숫자 자료형은 Number() 함수를 사용해 생성합니다.

developer.mozilla.org