기억 휘발 방지소

[JavaScript] parseInt() vs Number() 본문

Web/JavaScript

[JavaScript] parseInt() vs Number()

choice91 2021. 9. 3. 23:45
728x90
반응형

자바스크립트로 알고리즘을 풀다가 문자열을 숫자로 바꿔야할 경우가 생겨서 찾아본 결과 두 가지 방법이 있었다.

첫 번째는 parseInt()를 사용하는 것이고 두 번째는 Number()를 사용하는 방법이다.

그래서 이번 글에서 parseInt()Number()의 차이점을 간단하게 알아보고자한다.

 

공통점으로는 일단 둘 다 문자열을 숫자로 바꿔주는 메소드라는 것이다.

그런데 Number()는 숫자가 아닌 경우 NaN을 반환하지만 parseInt()는 문자열이 숫자로 시작하는 경우 숫자가 끝날 때까지만 형변환을 하여 반환한다.

 

아래 예제를 보면 더 쉽게 이해간다.

 

Number()

문자열 '1000'은 Number('1000')하면 숫자로 잘 변환이 되지만

문자열 '1000원'은 '원' 때문에 숫자로 변환되지 않고 NaN을 반환한다.

const a = Number("1000");
console.log(a);		// 1000

const b = Number("1000원");
console.log(b);		// NaN

const c = Number("hello");
console.log(c);		// Nan

 

parseInt()

위와 똑같이 문자열 '1000'을 parseInt()로 형변환하면 숫자 1000으로 잘 변환되고

문자열 '1000원'을 형변환하면 숫자가 끝나는 '원' 바로 앞까지만 형변환하여 반환된다.

const a = parseInt("1000");
console.log(a);		// 1000

const b = parseInt("1000원");
console.log(b);		// 1000

const c = parseInt("hello");
console.log(c);		// NaN

 

728x90
반응형

'Web > JavaScript' 카테고리의 다른 글

[JavaScript] async/await  (0) 2021.09.05
[JavaScript] Promise  (0) 2021.09.04
[JavaScript] 이벤트 루프  (0) 2021.09.02
[JavaScript] 호출스택  (0) 2021.08.31
[JavaScript] Set을 Array로 바꾸는 방법  (0) 2021.08.30