내장객체란?
  • 내장객체란 개발자가 따로 객체를 선언하지 않아도 Js에서 기본적으로 제공하는 객체를 의미한다. 이번시간에선 내장객체 중에서 많이 사용되는 객체중에 하나인 Math 객체에대해서 알아보고자 한다.

 

 

Math 객체란?
  • Math 객체는 주로 난수생성, 최대,최소값 구하기 등 숫자와 관련된 역활을 한다. Number객체가 가지고 있는 메소드는 아래와 같다.
Math.max() 최댓값을 반환한다
Math.min() 최소값을 반환한다
Math.random() 0과 1사이의 난를 생성한다
Math.pow(x,y) x 를 y번 제곱하여 반환한다
Math.round() 반올림하여 반환한다
Math.ceil() 올림하여 반환한다
Math.floor() 버림하여 반환한다
Math.sign() 양과 음을 판단하여 해당부호를 반환한다

 

let max = Math.max(10,4,23,4);	// 23 출력
let min = Math.min(10,4,23,4);	// 4 출력
let random = Math.random();	// 0.6186860539712182 출력
let pow = Math.pow(2,5);	// 32 출력
let round = Math.round(10.5);	// 11 출력
let ceil = Math.ceil(10.5);	// 11 출력
let floor = Math.floor(10.5);	// 10 출력
let sign = Math.sign(-10);	// -1 출력


console.log(max,min,random,pow,round,ceil,floor,sign);

//출력결과
23 4 0.6186860539712182 32 11 11 10 -1

 

 

 

 

 

Math.random의 사용
  • Math.random은 난수를 생성한다는 점에 있어 개발에 많이 사용된다. 하지만 Math.random 은 0과 1사이의 난수만을 생성하기 때문에 우리가 원하는 수 범위 안에서의 난수를 얻기 어렵다. 따라서 Math.random은 단독으로 쓰이지 않고 다른 기능과 같이 쓰이는 경우가 많다. 
let let random = Math.random() * 100;
console.log(random);	// 97.99585499423324 출력

random = Math.floor(random);
console.log(random);	// 97 출력

 

보통 사용자가 원하는 범위를 설정하기 위해서 Math.random() * n 을 사용한다. n을 곱할경우 0 ~ n-1 까지의 난수를 생성한다. 위 코드에선 100을 곱했으므로 0 ~ 99 까지의 난수가 생성되고 1 ~ 100까지의 난수를 생성하기 위해서는 괄호로 묶고 +1 을 해주면 된다. 

그리고 Math.random() 을 단독으로 사용할경우 뒤의 긴 소수점까지 출력되므로 보통 Math.floor를 사용하여 소수점을 제거해준다. 따라서 보편적으로 사용되는 Math.random의 모습은 아래와 같다.

 

// 0 ~ n-1 까지의 난수 범위를 설정할 경우
let random = Math.floor(Math.random() * n);

// 1 ~ n 까지의 난수 범위를 설정할 경우
let random = Math.floor(Math.random() * n) + 1;

+ Recent posts