자바스크립트(Javascript)는 올림, 내림, 반올림과 같은 수학적 처리를 위하여 Math 내장 객체를 제공합니다.
또한 Math는 Number
자료형만 지원하며 ES2020에서 추가된 BigInt
와는 사용할 수 없습니다.
Math는 다음과 같은 상수와 메서드를 제공합니다.
메서드
Math는 정말 많은 수학적 메서드를 제공합니다.
여기서는 모든 메서드를 설명하지 않고 주로 사용하는 메서드만을 설명하겠습니다.
Math.abs(x)
x의 절댓값을 반환합니다.
Math.abs(-1) // 1
Math.abs(1) // 1
Math.ceil(x)
x보다 크거나 같은 수 중에서 가장 작은 정수를 반환합니다.(올림 처리)
Math.ceil(1.234) // 2
Math.ceil(1.567) // 2
Math.floor(x)
x보다 작거나 같은 수 중에서 가장 큰 정수를 반환합니다.(버림 처리)
Math.floor(1.234); // 1;
Math.floor(1.567); // 1;
Math.round(x)
x와 숫자에서 가장 가까운 정수를 반환합니다.(반올림 처리)
Math.round(1.234); // 1
Math.round(1.567); // 2
Math.max([x[, y[, …]]])
0개 이상의 인수에서 제일 큰 수를 반환합니다.
Math.max(-3, 2); // 2
Math.max(1, 2); // 2
Math.max(1, 2, 3, 6); // 6
Math.min([x[, y[, …]]])
0개 이상의 인수에서 제일 작은 수를 반환합니다.
Math.min(-3, 2); // -3
Math.min(1, 2); // 1
Math.min(1, 2, 3, 6); // 1
Math.random()
0과 1 사이의 난수를 반환합니다.
Math.random(); // 0.8668455676439908
Math.random(); // 0.9923162396225162
Math.trunc()
소숫점을 버리고, 정수값만 반환합니다.
Math.trunc(1.222); // 1
Math.trunc(3.2); // 3
Math.trunc(-0.3); // 0
Math.trunc() vs parseInt()
parseInt()를 이용해서 정수값을 구할 수 있습니다.
parseInt(1.2); // 1
두 메소드의 성능비교는 여기에서 확인할 수 있습니다.
상수
Math에서 제공하는 상수를 쓰는일은 거의 없었지만, 해당 내용을 정리해봅니다.
Math.E
오일러의 상수이며 자연로그의 밑의 값을 반환합니다
Math.E; // 2.718281828459045
Math.LN2
2의 자연로그 값을 반환합니다.
Math.LN2; // 0.6931471805599453
Math.LN10
10의 자연로그 값을 반환합니다.
Math.LN10; // 2.302585092994046
Math.LOG2E
밑이 2인 로그 E 값을 반환합니다.
Math.LOG2E; // 1.4426950408889634
Math.LOG10E
밑이 10인 로그 E 값을 반환합니다.
Math.LOG10E; // 0.4342944819032518
Math.PI
원의 둘레와 지름의 비율 값을 반환합니다.
Math.PI; // 3.141592653589793
Math.SQRT1_2
½의 제곱근 값을 반환합니다.
Math.SQRT1_2; // 0.7071067811865476
Math.SQRT2
2의 제곱근 값을 반환합니다.
Math.SQRT2; // 1.4142135623730951
참고자료
(MDN Web Docs: Math)[https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Math]
(w3School: JavaScript Math Object)[https://www.w3schools.com/js/js_math.asp]
'Develope > Javascript' 카테고리의 다른 글
[Javascript]Tilt(~) 연산자 사용법 (0) | 2021.02.03 |
---|---|
[Javascript]Truthy, Falsy (0) | 2021.01.13 |
[Javascript]Promise.allSettled 사용법 (0) | 2020.06.26 |
[Javascript]문자열에 한글, 영문자가 포함 되어있는지 확인하기 (0) | 2020.06.22 |
[Javascript]async, await 사용법 (0) | 2020.06.22 |