[JS] Math 객체의 개념과 대표적인 메서드 11가지
2022. 3. 5. 02:44ㆍFront-end/JavaScript
Math란?
표준 Built-in 객체로써 수학적인 연산을 위한 속성 값과 메서드를 제공하는 객체다.
Math는 생성자 함수가 아니며 모든 속성과 메서드는 정적이기에 Math.function()으로 언제든지 호출이 가능하다.
대표 속성(property) 및 메서드(method)
- 오일러 상수 : Math.E
- PI : Math.PI
- 절댓값 : Math.abs(x)
- 최댓값 : Math.max(x)
- 최솟값 : Math.min(x)
- 랜덤 난수 값 : Math.random(x)
- 제곱/제곱근 : Math.pow(x, y), Math.sqrt(x)
- 반올림/올림/내림 : Math.round(x), Math.ceil(x), Math.floor(x)
최대/최소/절댓값
배열을 인수로 받아 최대/최소 값을 산출하려면 apply 함수 혹은 스프레드 문법을 사용해야 한다.
console.log(Math.max(1, -1)); // 1
console.log(Math.min(1, -1)); // -1
console.log(Math.max(1, -1, 5, 9, 7, -3)); // 9
console.log(Math.min(1, -1, 5, 9, 7, -3)); // -3
let nums = [1, -1, 5, 9, 7, -3];
// apply
console.log(Math.max(nums)); // NaN
console.log(Math.max.apply(null, nums)); // 9
console.log(Math.min.apply(null, nums)); // -3
// spread
console.log(Math.max(...nums)); // 9
console.log(Math.min(...nums)); // -3
// ABS
console.log(Math.abs(1)); // 1
console.log(Math.abs(-1)); // 1
console.log(Math.abs(-Infinity)); // Infinity
속성 및 랜덤
0과 1 사이의 난수 랜덤 값 구하기
// property
console.log(Math.E); // 2.718281828459045
console.log(Math.PI); // 3.141592653589793
// random
console.log(Math.random()); // 0.3796014087943276
console.log(Math.random() * 10); // 8.412363987176676
console.log(Number.parseInt(Math.random() * 100)); // 39
for (let i = 0; i < 5; i++) {
console.log(Number.parseInt(Math.random() * 100));
}
// 53
// 16
// 58
// 76
// 80
제곱/제곱근/소수점 처리
제곱 : Math.pow(x, y), 제곱근 : Math.sqrt(x)
반올림 : Math.round(x), 올림 : Math.ceil(x), 내림 : Math.floor(x)
// pow
console.log(Math.pow(2, 3)); // 8
console.log(2 ** 3); // 8
// sqrt
console.log(Math.sqrt(2)); // 1.4142135623730951
console.log(Math.sqrt(4)); // 2
// round, ceil, floor
console.log(Math.round(1.5)); // 2
console.log(Math.round(-1.3)); // -1
console.log(Math.round(-1.7)); // -2
console.log(Math.ceil(1.1)); // 2
console.log(Math.ceil(-1.3)); // -1
console.log(Math.ceil(-1.7)); // -1
console.log(Math.floor(1.9)); // 1
console.log(Math.floor(-1.3)); // -2
console.log(Math.floor(-1.7)); // -2
반응형
'Front-end > JavaScript' 카테고리의 다른 글
[JS] 다차원 배열 (multidimensional array) (0) | 2022.03.06 |
---|---|
[JS] Date 객체의 개념과 대표적인 메서드 (get/set) (0) | 2022.03.05 |
[JS] 자바스크립트 컬렉션(JavaScript Collection) - Set (0) | 2022.03.05 |
[JS] 자바스크립트 컬렉션(JavaScript Collection) - Map (0) | 2022.03.05 |
[JS] 고차 함수 (higher-order function) (0) | 2022.03.04 |