표준 빌트인 객체인 Math는 수학적인 상수와 함수를 위한 프로퍼티와 메서드를 제공한다.
Math는 생성자 함수가 아니다. 따라서 Math는 정적 프로퍼티와 정적 메서드만 제공한다.
1) Math 프로퍼티
Math.PI
원주율 PI 값을 반환한다.
Math.PI; // -> 3.141592653589793
2) Math 메서드
Math.abs
인수로 전달된 숫자의 절대값을 반환한다.
절대값은 반드시 0 또는 양수이어야 한다.
Math.abs(-1); // -> 1
Math.abs(''); // -> 0
Math.abs(undefined); // -> NaN
Math.round
인수로 전달된 숫자의 소수점 이하를 반올림한 정수를 반환한다.
Math.ceil
인수로 전달된 숫자의 소수점 이하를 올림한 정수를 반환한다.
소수점 이하를 올림하면 더 큰 정수가 된다.
Math.floor
인수로 전달된 숫자의 소수점 이하를 내림한 정수를 반환한다.
소수점 이하를 내림하면 더 작은 정수가 된다.
Math.sqrt
인수로 전달된 숫자의 제곱근을 반환한다.
Math.sqrt(9); // -> 3
Math.sqrt(-9); // -> NaN
Math.random
임의의 난수(랜덤 숫자)를 반환한다.
Math.random 메서드가 반환한 난수는 0에서 1 미만의 실수다. 즉, 0은 포함되지만 1은 포함되지 않는다.
const random = Math.floor((Math.random() * 10) + 1);
console.log(random); // 1에서 10 범위의 정수
Math.pow
첫 번째 인수를 밑으로, 두 번째 인수를 지수로 거듭제곱한 결과를 반환한다.
Math.pow(2, 8); // -> 256
Math.pow(2, -1); // -> 0.5
Math.pow(2); // -> NaN
Math.pow 메서드 대신 ES7에서 도입된 지수 연산자를 사용하면 가독성이 더 좋다.
2 ** 2 ** 2; // -> 16
Math.max
전달받은 인수 중에서 가장 큰 수를 반환한다. 인수가 전달되지 않으면 -Infinity를 반환한다.
배열을 인수로 전달받아 배열의 요소 중에서 최대값을 구하려면 Function.prototype.apply 메서드 또는 스프레드 문법을 사용해야 한다.
Math.max([1, 2, 3]); // -> NaN
Math.max.apply(null, [1, 2, 3]); // -> 3
Math.max(...[1, 2, 3]); // -> 3
Math.min
전달받은 인수 중에서 가장 작은 수를 반환한다. 인수가 전달되지 않으면 Infinity를 반환한다.
배열을 인수로 전달받아 배열의 요소 중에서 최소값을 구하려면 Function.prototype.apply 메서드 또는 스프레드 문법을 사용해야 한다.
출처: 이웅모, 『모던 자바스크립트 Deep Dive』 - 위키북스
'Javascript > 모던 자바스크립트' 카테고리의 다른 글
[ 모던 자바스크립트 ] 31. RegExp (정규표현식) (1) | 2024.04.12 |
---|---|
[ 모던 자바스크립트 ] 30. Date (0) | 2024.04.11 |
[ 모던 자바스크립트 ] 28. Number (0) | 2024.04.09 |
[ 모던 자바스크립트 ] 27. 배열 (0) | 2024.04.08 |
[ 모던 자바스크립트 ] 26. ES6 함수의 추가 기능 (메서드 | 화살표 함수 | Rest 파라미터) (0) | 2024.04.05 |