정확히 말하면 Math, Number객체, 프로퍼티, 메서드가 혼용되어 있지만...
아무튼 자주 활용되는 것들을 정리하고자 한다.
수의 범위 관련
javascript에서 다룰 수 있는 수의 범위
-9007199254740991 ~ 9007199254740991
-Math.pow(2, 53) + 1 === Number.MIN_SAFE_INTEGER; // -9007199254740991
Math.pow(2, 53) - 1 === Number.MAX_SAFE_INTEGER; // -9007199254740991
BigInt
-2^53이하 2^53이상의 수를 다룰 때 사용
+, -, *, /, %, ** 연산이 가능하다.
const a = 2n ** 53n; // 9007199254740992n
// integer와 혼용해서 연산할 수 없다.
a + 1n // 가능
a + 1 // 불가능
최댓값/최솟값 (인자 갯수 유동적)
Math.max(10, 20, 6); // 20
Math.min(10, 20, 6); // 6
const arr = [1, 2, 3];
Math.max(...arr); // 3
제곱 관련
제곱
Math.pow(2, 3); // 8
2 ** 3 // 8
제곱근
Math.sqrt(9); // 3
Math.sqrt(2); // 1.414...
절대값
Math.abs(-123); // 123
Math.abs(0.5); // 0.5
소수점 관련
반올림 (언제나 정수 반환)
Math.round(20.49); // 20
Math.round(20.5); // 21
Math.round(-20.5); // -20
내림 (언제나 정수 반환)
Math.floor(45.05); // 45
Math.floor(4); // 4
Math.floor(-45.05); // -46
올림 (언제나 정수 반환)
Math.ceil(0.95); // 1
Math.ceil(4); // 4
Math.ceil(7.004); // 8
Math.ceil(-0.95); // -0
소수점 자릿수 지정(자르기)
const num = 1.12345;
num.toFixed(3); // "1.123" string타입임에 유의
num.toFixed(0); // "1"
num.toFixed(7); // "1.1234500"
const b = 1.99;
b.toFixed(1); // "2.0" 반올림 되는것에 유의
b.toFixed(2); // "1.99"
b.toFixed(0) // "2"
'Web development > Algorithm' 카테고리의 다른 글
[javascript] index를 찾아 반환하는 메서드 (0) | 2021.01.23 |
---|---|
[LeetCode] Count and Say (0) | 2021.01.23 |
[LeetCode] Reverse Integer (0) | 2021.01.20 |
[LeetCode] Rotate Image, Reverse String (0) | 2021.01.20 |
[LeetCode] Valid Sudoku (0) | 2021.01.15 |
댓글