Programming Language/JavaScript
[JavaScript]Math 객체 다루기: min, max, random, round, ceil, floor
영벨롭
2022. 3. 20. 19:38
[ Math 객체 ]
Math 객체는 수학에서 자주 사용하는 상수와 함수들을 미리 구현해놓은 자바스크립트 표준 내장 객체입니다.
Math 객체는 생성자가 따로 존재하지 않아 instance를 따로 생성하지 않고 바로 사용할 수 있습니다.
자주 사용하는 메서드는 다음과 같습니다.
- Math.min()
- Math.max()
- Math.random()
- Math.round()
- Math.ceil()
- Math.floor()
[ 최솟값 & 최댓값 ]
Math.min()과 Math.max() 는 인수로 받은 수 중 가장 작은 값과 가장 큰 값을 반환합니다.
만약 인수가 주어지지 않으면 각각 Infinity, -Infinity를 반환합니다.
또한 만약 인수중에 비교할 수 없는 값이 주어지면 NaN을 반환합니다.
const minN = Math.min(1, 2, 3, 4, 5); //1
const maxN = Math.max(1, 2, 3, 4, 5); //5
[ 난수 생성 ]
Math.random() * number 은 0부터 number 사이의 난수를 반환합니다. 이때 난수는 float 타입입니다.
const num1 = Math.random(); //0~1 사이 난수
const num2 = Math.random() * 10; //0~10 사이 난수
[ float 타입 -> int 타입 변환 ]
float 타입에서 int 타입으로 변환하는 메서드는 세 가지가 있습니다.
(1) Math.round(실수)
Math.round() 메서드는 실수를 반올림/반내림 해줍니다.
const num1 = Math.round(0.1); //0
const num2 = Math.round(0.8); //1
(2) Math.ceil(실수)
Math.ceil() 메서드는 실수를 올림 해줍니다.
const num1 = Math.ceil(1.1); //2
const num2 = Math.ceil(1.8); //2
(3) Math.floor(실수)
Math.floor() 메서드는 실수를 내림 해줍니다.
const num1 = Math.floor(1.1); //1
const num2 = Math.floor(1.8); //1
[ 예제 ]
요일을 나타내는 array 에서 랜덤하게 원소를 뽑는 코드를 작성해봅시다!
const days = [ "mon", "tue", "wed", "thu", "fri", "sat", "sun" ];
//index를 난수로 생성: 0~7 사이 정수 난수
const idx = Math.floor(Math.random() * days.length);
const day = days[idx];
반응형