
0과 1 사이의 난수를 반환한다.
아래는 Math.random()을 연속으로 다섯번 실행해본 결과이다.
Math.random(); // 0.4918277206078523
Math.random(); // 0.16358874586918382
Math.random(); // 0.7186804879234185
Math.random(); // 0.34319767809939195
Math.random(); // 0.5096303682511132
인수보다 작거나 같은 수 중에서 가장 큰 정수를 반환한다.
즉, 소수점 이하를 버림한다는 말이다.
Math.floor(3.54); // 3
Math.floor(15.95); // 15
Math.floor(-15.95); // -16
parseInt()와의 차이점
parseInt()는 문자열 인자를 파싱하여 특정 진수의 정수를 반환한다.parseInt("3.54"); // 3 parseInt(3.54); // 3 parseInt(15.95); // 15 parseInt(-15.95); // -15
parseInt()의 경우 소수점을 버리는 것으로 끝이다.
Math.floor()는 소수점을 내림하기 때문에 값이 다른 것을 알 수 있다.
Math.random()과 Math.floor()를 활용해 다양한 범위의 랜덤 숫자를 만들 수 있다.
Math.floor(Math.random() * 100); // 0부터 99까지의 숫자 출력
Math.floor(Math.random() * 100) + 1; // 1부터 100까지의 숫자 출력
Math.floor(Math.random() * 100) < 50 ? "50보다 작다" : "50보다 크다";
// 실행한 값이 50보다 작으면 "50보다 작다" 출력, 5보다 크면 "50보다 크다" 출력