자바스크립트는 변수 타입을 지정하지 않고 사용한다.
하지만 === 연산자 등을 사용할 경우 변수의 타입을 맞춰줘야 하고, 0과 "0"은 서로 falsy, truthy 값이라서 구분 할 필요는 있다.
최근 읽은 기사에서 string을 number로 바꾸는 여러 방법들을 보고 이를 정리해 보았다.
1. Number()
const quantity = "12";
console.log(Number(quantity));
// 12
무난하고 자주 사용되는 용법이다.
직관적으로 나타내어지고, 정수와 소수 모두 사용가능하다.
2. parseInt()
const quantity = "12.5";
console.log(parseInt(quantity));
// 12
parseInt는 주로 소수의 버림이나 n진법 만들기 용으로 사용되지만 string을 number로 바꾸어주는 역할도 한다.
소수를 그대로 살리고 싶다면 아래의 parseFloat을 사용해야한다.
3. parseFloat()
const quantity = "12.5";
console.log(parseFloat(quantity));
// 12.5
parseInt와 같으나 소수를 그대로 살려준다.
4. + 0
5. - 0
6. * 1
7. / 1
const quantity = "12.5";
console.log(quantity + 0);
console.log(+quantity);
// 12.5
console.log(quantity - 0);
// 12.5
console.log(quantity * 1);
// 12.5
console.log(quantity / 1);
// 12.5
타입을 지정해주는 언어에서는 바로 에러가 나오겠지만, 자바스크립트는 string에 연산을 하면 알아서 number로 바꿔준다.
8. ~~
const qunatity = 12;
console.log(~qunatity);
// -11
console.log(~~qunatity);
// 12
console.log(~~"isNaN");
// 0
~는 bitwise NOT 연산자이다.
비트가 바뀌면서 정수는 -(x + 1)의 형태로 표시되는데, 따라서 ~를 주번 사용해주면 원래 숫자로 돌아온다.
특이점은 언어로 이루어진 string을 넣어도 NaN이 아니라 0을 반환한다는 것이다.
9. Math.floor()
10. Math.ceil()
11. Math.round()
각각 내림, 올림, 반올림을 표현하는 함수들이다.
평범하게 string을 number로 변환시킨다.
출처 : https://www.freecodecamp.org/news/how-to-convert-a-string-to-a-number-in-javascript/
'Languages > Javascript' 카테고리의 다른 글
Closure &Scope chain (0) | 2022.04.01 |
---|---|
Javascript-1d or 2d array 간단히 만들기 (0) | 2021.12.03 |
Javascript-map (0) | 2021.11.20 |
Javascript-reduce (0) | 2021.11.09 |