DevSSOM

자바스크립트 - Math 프라퍼티와 메소드 본문

JavaScript/기초

자바스크립트 - Math 프라퍼티와 메소드

데브쏨 2021. 7. 6. 16:48
반응형

Math 프라퍼티와 메서드

Math는 이미 자바스크립트에서 만들어 놓은 객체.

Math 객체의 메소드로는 abs, ceil, floor, random 등이 있음.

Math.abs(-3);      // 절대값 출력 -> 3
Math.ceil(0.3);    // 올림 -> 1
Math.floor(10.9);  // 내림 -> 10
Math.random();     // 0과 1 사이의 임의의 숫자 출력 (0과 1은 절대 될 수 없음)

console.log()로 출력을 해보면

여기서 0.4135~ 이 값은 브라우저를 새로고침 할 때마다 숫자가 달라져. But, 절대 0과 1이 되진 않아. 무조건 그 사잇값만 출력됨.

 

 

 

더 많은 Math 프라퍼티와 메소드의 종류는 아래 링크에서 확인.

https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Math

 

Math - JavaScript | MDN

Math는 수학적인 상수와 함수를 위한 속성과 메서드를 가진 내장 객체입니다.

developer.mozilla.org

 

 

연습문제 : 주사위 게임 만들기

Q. Math 객체의 메소드를 사용해서 1 ~ 6 사이의 랜덤한 숫자를 출력하는 코드 작성해보기.

>>> random() 메소드 값에 6을 곱해주고, 소수점을 없애기 위해 floor 메소드로 내림을 해준 다음에, 다시 1을 더해줘.

var dice = Math.floor(Math.random() * 6) + 1;

console.log(dice);

이렇게 코드를 작성하게 된 배경을 더 자세히 살펴보면

Math.random();                  // 0.000001 ~ 0.999999
var dice = Math.random() * 6    // 0.000006 ~ 5.999999
var dice = Math.floor(Math.random() * 6)  // 0 ~ 5
var dice = Math.floor(Math.random() * 6) + 1;  // 1 ~ 6

console.log(dice);

 

연습문제 : 1 ~ 10까지 랜덤한 숫자 추출하기

Q. 1 ~ 10 사이의 랜덤한 숫자를 출력하는 코드 작성해보기. 이때, 최대값인 10에 다른 숫자를 넣을 수 있는 함수로 만들기.

>>> 

function rand(maxNum) {
  var dice = Math.floor(Math.random() * maxNum) + 1;
  console.log(dice);
}

rand(10)   // 10이 아니라 다른 수로 바뀌면 그 수가 최대값이 됨

 

728x90
반응형
댓글