29장. Math
- 표준 빌트인 객체 Math
- 상수와 함수를 위한 프로퍼티, 메서드 제공
- 생성자 함수가 아니며, 정적 프로퍼티와 정적 메서드만 제공한다.
29-1. Math 프로퍼티
Math.PI
Math.PI; // 3.141592653589793
29-2. Math 메서드
Math.abs
Math.abs(-1); // 1
Math.abs('-1'); // 1
Math.abs(''); // 0
Math.abs([]); // 0
Math.abs(null); // 0
Math.abs(undefined); // NaN
Math.abs({}); // NaN
Math.abs('string'); // NaN
Math.abs(); // NaN
Math.round
Math.round(1.4); // 1
Math.round(1.6); // 2
Math.round(-1.4); // -1
Math.round(-1.6); // -2
Math.round(); // NaN
Math.ceil
Math.round(1.4); // 2
Math.round(1.6); // 2
Math.round(-1.4); // -1
Math.round(-1.6); // -1
Math.round(1); // 1
Math.round(); // NaN
Math.floor
Math.round(1.4); // 2
Math.round(1.6); // 2
Math.round(-1.4); // -1
Math.round(-1.6); // -1
Math.round(1); // 1
Math.round(); // NaN
Math.sqrt
Math.sqrt(9); // 3
Math.sqrt(-9); // NaN
Math.sqrt(2); // 1.4142135623730951
Math.sqrt(1); // 1
Math.sqrt(0); // 0
Math.sqrt(); // NaN
Math.random
- 0~1 사이의 임의의 난수를 반환
- 0은 포함하지만 1은 포함되지 않음.
Math.random(); // 0.550912748063044
Math.pow
- 첫 번째 인수를 밑(base), 두 번째 인수를 지수(exponent)로 거듭제곱한 결과를 반환
Math.pow(2, 8); // 256
// ES7에 도입된 지수 연산자 사용하는게 가독성이 더 좋음.
2 ** 2 ** 2; // 16
Math.max
- 전달받은 인수 중에서 가장 큰 수를 반환, 전달되지 않으면 -Infinity 반환
Math.max(1); // 1
Math.max(1, 2); // 2
Math.max(); // -Infinity
// 배열로 사용하기
Math.max(...[1, 2, 3]); // 3
Math.min
- 전달받은 인수 중에서 가장 작은 수를 반환, 전달되지 않으면 Infinity 반환
Math.min(1); // 1
Math.min(1, 2); // 1
Math.min(); // Infinity
// 배열로 사용하기
Math.min(...[1, 2, 3]); // 1