기록
JavaScript parseInt() vs Number() 본문
공통점: 문자열을 숫자로 바꿔주는 역할을 한다.
두 메서드의 목적은 조금 다르다.
parseInt()
문자열을 파싱하여 숫자로 형변환하는 것에 더 집중되어 있는 메서드.
숫자와 문자열로 이루어진 경우 숫자로 시작한다면 숫자부분이 형변환된다.
const str = '1000원';
const num = parseInt(str);
console.log(num); //1000
Number()
이름처럼 숫자에 더 집중된 메서드
숫자를 생성하는 역할도 하면서 타입이 문자열인 숫자를 숫자 타입으로 변환한다.
숫자만 포함하고 있어야 하며, 문자열과 숫자가 결합되어 있다면 NaN을 반환한다.
const str = '3.14';
const num = Number(str);
console.log(num); //3.14
소수점의 경우 parseInt보다 정확하게 변환한다.
parseInt는 정수를 반환하기 때문에 3을 반환하는 것을 확인할 수 있다.
(이런 경우 parseFloat를 사용하는 것이 적합하다.)
const str = '3.14';
const num = parseInt(str);
const num2 = parseFloat(str);
console.log(num); //3
console.log(num2); //3.14
parseInt는 인자로 문자열과 진수를 받아서, 문자열을 해당 진수에 해당하는 정수로 반환하는 메서드이기 때문이다.
parseInt(string, radix)
radix의 기본값은 10이 아니다!
radix를 생략하였을 때, string이 16진수나 8진수 표기법이 아닌 경우 radix를 10으로 설정할 뿐이다.
참조: MDN, https://velog.io/@mukeunzi/JavaScript-parseInt%EC%97%90%EC%84%9C-radix%EB%A5%BC-%EC%83%9D%EB%9E%B5%ED%95%B4%EB%8F%84-%EB%90%A0%EA%B9%8C, https://jamong-icetea.tistory.com/14
'TIL*' 카테고리의 다른 글
새로 알게 된 css (0) | 2022.02.23 |
---|---|
KeyboardEvent.isComposing (0) | 2022.02.11 |
mern stack 복습 - 1 (0) | 2022.01.25 |
ajax, form 전송, formData (0) | 2022.01.23 |
mac OS에서 git, node.js, github, nvm, node.js, iterm2 등 시작하기 (0) | 2022.01.20 |
Comments