수학에서 자주 사용하는 상수와 함수들을 미리 구현해 놓은 내장 객체이다.
생성자가 존재하지 않아 메소드나 프로퍼티를 바로 사용할 수 있다.
let num = 2.1234;
let absNum = Math.abs(-1); // 1 절댓값 반환
let roundNum = Math.round(num); // 2 반올림
let floorNum = Math.floor(num); // 2 소수점 내림
let ceilNum = Math.ceil(num); // 3 소수점 올림
let maxNum = Math.max(10, 5, 8, 30); // 30 최대값
let minNum = Math.min(10, 5, 8, 30); // 5 최솟값
let randomNum = Math.random(); // 0 ~ 1 사이 난수 발생
let rand1 = Math.random() * 10 // 0 ~ 9까지의 난수
let rand2 = Math.floor(Math.random() * 10) // 0 ~ 9까지의 정수
let rand3 = Math.floor(Math.random() * 31) + 120 // 120 ~ 150까지의 정수
인수의 절댓값을 반환하는 메소드
Math.abs(-1); // 1
Math.abs(-3); // 3
Math.abs("3"); // 3
Math.abs(''); // 0
Math.abs([]); // 0
Math.abs(null); // 0
Math.abs(undefined); // NaN
round : 인수의 소수점 이하를 반올림하여 정수로 반환
ceil : 인수의 소수점 이하를 올림하여 정수로 반환
floor : 인수의 소수점 이하를 내림하여 정수로 변환
let num = 2.1234;
Math.round(num); // 2 반올림
Math.floor(num); // 2 소수점 내림
Math.ceil(num); // 3 소수점 올림
max : 인수들 중 가장 큰 수를 반환
min : 인수들 중 가장 작은 수를 반환
Math.max(10, 5, 8, 30); // 30 최대값
Math.min(10, 5, 8, 30); // 5 최솟값
0이상 1미만의 난수를 반환한다. 실수가 아닌 정수를 랜덤으로 반환받고 싶다면 random 구문을 floor, ceil, round로 감싸주어야 한다.
정수 범위 설정
Math.floor(Math.random() * (최댓값 - 최솟값 + 1)) + 최솟값
let rand1 = Math.random() * 10 //0 ~ 9까지의 난수
let rand2 = Math.floor(Math.random() * 10) // 0 ~ 9까지의 정수
let rand3 = Math.floor(Math.random() * 31) + 120 // 120 ~ 150까지의 정수