29.1 Math 프로퍼티

29.1.1 Math.PI

원주율 PI 값을 반환한다.

29.2 Math 메서드

29.2.1 Math.abs

Math.abs 메서드는 인수로 전달된 숫자의 절대값을 반환한다. 절대값은 반드시 0 또는 양수이어야 한다.

Math.abs('');    // -> 0
Math.abs([]);    // -> 0
Math.abs(null);  // -> 0
Math.abs({});    // -> 0
Math.abs(undefined);  // -> NaN
Math.abs('string');   // -> NaN
Math.abs();           // -> NaN

29.2.2 Math.round

Math.round 메서드는 인수로 전달된 숫자의 소수점 이하를 반올림한 정수를 반환한다.

Math.round();  // -> NaN

29.2.3 Math.ceil

Math.ceil 메서드는 인수로 전달된 숫자의 소수점 이하를 올림한 정수를 반환한다.

소수점 이하를 올림하면 더 큰 정수가 된다.

Math.ceil();  // -> NaN

29.2.4 Math.floor

Math.floor 메서드는 인수로 전달된 숫자의 소수점 이하를 내림한 정수를 반환한다.

소수점 이하를 내림하면 더 작은 정수가 된다.

즉, Math.ceil 메서드의 반대 개념이다.

Math.floor();  // -> NaN

29.2.5 Math.sqrt

Math.sqrt 메서드는 인수로 전달된 숫자의 제곱근을 반환한다.

Math.sqrt();  // -> NaN
Math.sqrt(-1);  // -> NaN

29.2.6 Math.random

Math.random 메서드는 임의의 난수를 반환한다. Math.random 메서드가 반환한 난수는 0에서 1 미만의 실수다. 즉, 0은 포함되지만 1은 포함되지 않는다.

/* 1에서 10 범위의 랜덤 정수 취득 */
const random = Math.floor((Math.random() * 10) + 1);
console.log(random);

29.2.7 Math.pow

Math.pow 메서드는 첫 번째 인수를 밑으로, 두 번째 인수를 지수로 거듭제곱한 결과를 반환한다.

인수가 없거나 1개인 경우 NaN을 반환한다.

<aside> <img src="/icons/chat_gray.svg" alt="/icons/chat_gray.svg" width="40px" /> Math.pow 메서드 대신 ES7에서 도입된 지수 연산자(**)를 사용하는 것이 가독성에 더 좋다.

</aside>

29.2.8 Math.max

Math.max 메서드는 전달받은 인수 중에서 가장 큰 수를 반환한다. 인수가 전달되지 않으면 -Infinity를 반환한다.

<aside> <img src="/icons/chat_gray.svg" alt="/icons/chat_gray.svg" width="40px" /> 배열을 인수로 전달받아 배열의 요소 중에서 최대값을 구하려면 Function.prototype.apply 메서드 또는 스프레드 문법을 사용해야 한다.

</aside>

29.2.9 Math.min

Math.min 메서드는 전달받은 인수 중에서 가장 작은 수를 반환한다. 인수가 전달되지 않으면 Infinity를 반환한다.

<aside> <img src="/icons/chat_gray.svg" alt="/icons/chat_gray.svg" width="40px" /> 배열을 인수로 전달받아 배열의 요소 중에서 최소값을 구하려면 Function.prototype.apply 메서드 또는 스프레드 문법을 사용해야 한다.

</aside>