Develope/Javascript

[Javascript]올림, 내림, 반올림과 같은 수학적 처리를 위한 Math 객체

oper0116 2020. 6. 29. 12:42
반응형

자바스크립트(Javascript)는 올림, 내림, 반올림과 같은 수학적 처리를 위하여 Math 내장 객체를 제공합니다.
또한 Math는 Number 자료형만 지원하며 ES2020에서 추가된 BigInt와는 사용할 수 없습니다.

Math는 다음과 같은 상수와 메서드를 제공합니다.

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]

반응형