Math객체

국물빌런·2021년 1월 3일
0

Math 객체

글로벌 객체이며 수학연산에 대한 편의 api를 제공한다
가장 많이 쓰이는 api는 아래 6가지이다.
1. Math.min()

  1. Math.max()

  2. Math.random()

  3. Math.round()

  4. Math.floor()

  5. Math.ceil()

Math.random()

해당 함수는 전역함수이다.

자바스크립트에서 랜덤한 값을 뽑아낼때 사용한다.

다른 언어도 이런 수학연산 함수를 제공하는데 자바스크립트가 조금 특이한점은

Math.random()함수가 0이상 1미만의 값을 랜덤으로 제공한다.0은 포함하고 1은 포함하지 않는다.

즉 결과값이 소수이다.

MDN에 정리된 여러 예제이다.자주 쓰이니 외워두자

0이상 1미만 소수 랜던샘성

Math.random();

두 값 사이의 난수 생성(소수)

Math.random() * (max - min) + min;

두 값 사이의 난수 생성(정수)

function getRandomInt(min, max) {
  min = Math.ceil(min);
  max = Math.floor(max);
  //return Math.floor(Math.random() * (max - min)) + min; //최댓값은 제외, 최솟값은 포함
	return Math.floor(Math.random() * (max - min + 1)) + min; //최댓값도 포함, 최솟값도 포함
}

Math.min() 메소드

Math.min() 메소드는 인수로 전달받은 값 중에서 가장 작은 수를 반환
인수가 전달되지 않으면 Infinity를 반환하며, 인수 중에 비교할 수 없는 값이 포함되어 있으면 NaN을 반환

Math.min();                        // Infinity

Math.min(1, 10, -100, -10, 1000, 0);     // -100

Math.min(1, 10, -100, -10, "-1000", 0);  // -1000

Math.min(1, 10, -100, -10, "문자열", 0); // NaN

Math.max() 메소드

Math.max() 메소드는 인수로 전달받은 값 중에서 가장 큰 수를 반환

인수가 전달되지 않으면 -Infinity를 반환하며, 인수 중에 비교할 수 없는 값이 포함되어 있으면 NaN을 반환

Math.max();                         // -Infinity

Math.max(1, 10, -100, -10, 100, 0);      // 100

Math.max(1, 10, -100, -10, "1000", 0);   // 1000

Math.max(1, 10, -100, -10, "문자열", 0); // NaN

Math.round() 메소드

Math.round() 메소드는 인수로 전달받은 값을 소수점 첫 번째 자리에서 반올림하여 그 결괏값을 반환

Math.round(10.49);  // 10

Math.round(10.5);   // 11

Math.round(-10.5);  // -10

Math.round(-10.51); // -11

Math.floor() 메소드

Math.floor() 메소드는 인수로 전달받은 값과 같거나 작은 수 중에서 가장 큰 정수를 반환

Math.floor(10.95);  // 10

Math.floor(11.01);  // 11

Math.floor(-10.95); // -11

Math.floor(-11.01); // -12

Math.ceil() 메소드

Math.ceil() 메소드는 인수로 전달받은 값과 같거나 큰 수 중에서 가장 작은 정수를 반환

Math.ceil(10.95);  // 11

Math.ceil(11.01);  // 12

Math.ceil(11);     // 11

Math.ceil(-10.95); // -10

Math.ceil(-11.01); // -11

출처 : http://www.tcpschool.com/javascript/js_standard_math

profile
국물을 달라

0개의 댓글