DevSSOM
자바스크립트 - Math 프라퍼티와 메소드 본문
반응형
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
연습문제 : 주사위 게임 만들기
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
반응형
'JavaScript > 기초' 카테고리의 다른 글
자바스크립트 연습문제 - 문자열 거꾸로 출력하기 (0) | 2021.07.11 |
---|---|
자바스크립트 연습문제 - 소수 출력하기 (0) | 2021.07.10 |
자바스크립트 - 반복문 (while문, do ~ while, for문) (0) | 2021.07.09 |
자바스크립트 - 조건문 (if, else, else if, if 속에 if) (0) | 2021.07.08 |
자바스크립트 - 산술, 증감, 비교, 논리 연산자 (0) | 2021.07.07 |
자바스크립트 - 배열 데이터 넣기, 빼기 push, pop, unshift, shift (0) | 2021.07.05 |
자바스크립트 - 문자열 프라퍼티와 메소드 (0) | 2021.07.04 |
댓글