일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- spring
- React
- 자바스크립트
- JSTL
- url 변환
- array
- forEach
- 스프링
- 리액트
- SQL
- Java
- 개발
- html
- set
- jQuery
- 원펀맨
- 이름 마스킹
- 맛집
- 모바일게임
- 오라클
- Oracle
- url 치환
- JSX
- table
- JavaScript
- 배열
- JS
- 원펀맨: 최강의 남자
- 형변환
- 자바
- Today
- Total
특별한 일상
[JavaScript] parseInt()와 Number() 차이점과 사용용도. 본문
안녕하세요. 소다맛사탕 입니다.
오늘은 자바스크립트에서 변수의 값을 형변환 할 때 자주 쓰는
parseInt와 Number의 차이점과 사용법을 알아보려고 합니다.
parseInt와 Number는 문자열을 숫자로 바꿔주는 역할을 합니다.
1. parseInt()
문자열 인자를 파싱해서 특정 진수(수의 진법 체계에서 기준이 되는 값)의 정수를 반환.
const txtVal = '가나다';
const numVal = 123;
const numVal2 = '123';
const emptyVal = '';
let emptyVal2;
const mixVal = 'abc123';
const negativeVal = -123;
console.log("parseInt(텍스트) : "+ parseInt(txtVal));
console.log("parseInt(숫자) : " + parseInt(numVal));
console.log("parseInt(숫자2) : " + parseInt(numVal2));
console.log("parseInt(공백) : " + parseInt(emptyVal));
console.log("parseInt(공백2) : " + parseInt(emptyVal2));
console.log("parseInt(혼합) : " + parseInt(mixVal));
console.log("parseInt(음수) : " + parseInt(negativeVal));
---- 결과 ----
parseInt(텍스트) : NaN
parseInt(숫자) : 123
parseInt(숫자2) : 123
parseInt(공백) : NaN
parseInt(공백2) : NaN
parseInt(혼합) : NaN
parseInt(음수) : -123
2. Number()
숫자 값으로 작업할 수 있게 해주는 Object 객체. 객체는 생성자를 사용하여 만들고, 원시 숫자 자료형은 함수를 사용해 생성.
console.log("Number(텍스트) : " + Number(txtVal));
console.log("Number(숫자) : " + Number(numVal));
console.log("Number(숫자2) : " + Number(numVal2));
console.log("Number(공백) : " + Number(emptyVal));
console.log("Number(공백2) : " + Number(emptyVal2));
console.log("Number(혼합) : " + Number(mixVal));
console.log("Number(음수) : " + Number(negativeVal));
---- 결과 ----
Number(텍스트) : NaN
Number(숫자) : 123
Number(숫자2) : 123
Number(공백) : 0
Number(공백2) : NaN
Number(혼합) : NaN
Number(음수) : -123
문자열을 숫자열로 형변환시 일반적인 숫자 형태를 가지고 있는 값들은 그대로 출력되는 것을 확인할 수 있습니다.(음수 포함)
그리고 공백의 경우 Number 객체를 사용시 0으로 출력되는 것을 확인할 수 있습니다.
그러면 여기서 숫자에 관련된 결과만 확인해 본다면...
// 숫자가 먼저 앞에 오는 변수
const fstNumVal = '123abc';
// 0이 앞에 붙은 숫자 변수
const fstZeroVal = '000123';
// 소수점
const decimalVal = '0.00123';
console.log("parseInt(숫자먼저) : " + parseInt(fstNumVal));
console.log("parseInt(앞에0) : " + parseInt(fstZeroVal));
console.log("parseInt(소수점) : " + parseInt(decimalVal));
console.log("=======================================");
console.log("Number(숫자먼저) : " + Number(fstNumVal));
console.log("Number(앞에0) : " + Number(fstZeroVal));
console.log("Number(소수점) : " + Number(decimalVal));
---- 결과 ----
parseInt(숫자먼저) : 123
parseInt(앞에0) : 123
parseInt(소수점) : 0
=======================================
Number(숫자먼저) : NaN
Number(앞에0) : 123
Number(소수점) : 0.00123
결론적으로...
숫자가 먼저 오는 숫자와 텍스트가 혼합 변수 값은 parseInt 만 숫자 출력.
0이 먼저 시작한 숫자는 parseInt, Number 모두 0을 제외한 숫자만 출력
소수점의 결과를 다 나타내고 싶을 때는 Number 객채를 사용하면 된다는 결과가 나왔습니다.
※ 참조 : https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/parseInt
https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Number
'IT•개발 끄적 > JavaScript' 카테고리의 다른 글
[JavaScript] 체크박스 선택/해제 여러가지 모음 (0) | 2022.01.20 |
---|---|
[JavaScript] event.preventDefault()와 event.stopPropagation() 사용법과 차이점 (0) | 2022.01.05 |
[JavaScript] 배열 key 중복 제거 (ft.동일 키 배열 합치기) (0) | 2021.12.16 |
[JavaScript] ECMAScript5 이상 키워드 var, let, const 사용법과 차이점 (0) | 2021.12.11 |
[JavaScript] JS URL 인코딩 & 디코딩 처리(url encoding or decoding) (0) | 2021.06.10 |