
📝 JavaScript
🖥️ Math 객체
오늘은 자바스크립트 내장 객체인 수학객체(Math Object)에 대해 알아볼게요.
더하기, 곱하기, 나누기 등은 산술 연산자를 사용해서 계산할 수 있지만,
최댓값, 최솟값, 반올림 등은 Math 객체에 포함된 수학 메서드를 이용해서 처리해 줄 수 있습니다.
✅ 1. Math 객체의 메서드 한 눈에 보기
종류
|
기능
|
Math.abs(숫자)
|
절대값 반환
|
Math.max(숫자1, 숫자2, 숫자3, 숫자4)
|
숫자 중 가장 큰 값 반환
|
Math.min(숫자1, 숫자2, 숫자3, 숫자4)
|
숫자 중 가장 작은 값 반환
|
Math.pow(숫자, 제곱값)
|
숫자의 거듭제곱값 반환
|
Math.random()
|
0~1 사이의 난수 반환
(이해가 어려울 수 있으므로 아래 설명할게요)
|
Math.round(숫자)
|
소수점 첫째 자리에서 반올림하여 정수 반환
|
Math.ceil(숫자)
|
소수점 첫째 자리에서 무조건 올림하여 정수 반환
|
Math.floor(숫자)
|
소수점 첫째 자리에서 무조건 내림하여 정수 반환
|
Math.sqrt(숫자)
|
숫자의 제곱근값 반환
|
Math.PI
|
원주율 상수 3.14를 반환
|
[ 예시 ]
<script>
let num = 2.1234;
let maxNum = Math.max(10,5,8,30), //30
minNum = Math.min(10,5,8,30), //5
roundNum = Math.round(num), //2
floorNum = Math.floor(num), //2
ceilNum = Math.ceil(num), //3
rndNum = Math.random(), //0~1
piNum = Math.PI; // 3.14
Math.floor(Math.random()*31); //0부터 30까지 정수로 난수를 발생한다.
Math.floor(Math.random()*31)+120; //120부터 150까지 정수로 난수를 발생한다.
</script>
출처: (이지스퍼블리싱) 자바스크립트 + 제이쿼리 입문( p.95)
1-1. 최대값
Math.max()
<body>
<script>
// 두 수 중에서 최대값
let maxNum = Math.max(10,5,8,30);
document.write(maxNum); // 30
</script>
</body>
1-2. 최소값
Math.min()
<body>
<script>
// 두 수 중에서 최소값
let minNum = Math.min(10,5,8,30);
document.write(minNum); // 5
</script>
</body>
1-3. 반올림 (소수점 첫째자리에서 반올림하여 정수 반환)
Math.round()
<body>
<script>
// 소수점 첫째 자리에서 반올림하여 정수 반환
let num = 2.1234
let roundNum = Math.round(num);
document.write(roundNum); // 2
</script>
</body>
1-4. 내림 (소수점 첫째자리에서 무조건 내림하여 정수 반환)
Math.floor()
<body>
<script>
// 소수점 첫째 자리에서 내림하여 정수 반환
num = 2.1234
let floorNum = Math.floor(num);
document.write(floorNum); // 2
</script>
</body>
1-5. 올림 (소수점 첫째자리에서 무조건 올림하여 정수 반환)
Math.ceil()
<body>
<script>
// 소수점 첫째 자리에서 올림하여 정수 반환
num = 2.1234
let ceilNum = Math.ceil(num);
document.write(ceilNum); // 3
</script>
</body>
1-6. 절대값
Math.abs()
<body>
<script>
// 숫자의 절대값 반환
num = -2
let absNum = Math.abs(num);
document.write(absNum); // 2
</script>
</body>
1-7. 거듭제곱값
Math.pow(숫자, 제곱값)
<body>
<script>
// 숫자의 거듭제곱값 반환
num = 2
let powNum = Math.pow(num, 3);
document.write(powNum); // 8
</script>
</body>
✅ 2. 난수 생성 (랜덤한 숫자 생성하기)
2-1. 난수란?
예측할 수 없는 값이란 뜻으로 범위를 지정하면 생성되는 랜덤한 숫자를 말해요.
자바스크립트에서는 Math.random() 메서드를 사용해서 난수를 생성할 수 있습니다.
이 메서드를 사용하면 0부터 1사이의 실수가 랜덤하게 반환됩니다.
그렇다면 위와 달리 0과 1 사이가 아닌, 임의로 지정한 숫자의 구간에서 난수를 정수로 반환 받으려면 어떻게 할까요?
2-2. Math.random()
1) 0부터 1 사이의 랜덤한 실수 생성
Math.random(); // 0부터 1 사이의 실수 랜덤 생성
2) 0부터 10까지의 랜덤한 실수 생성하기
Math.random()*10; // 0부터 10까지 실수로 난수를 반환
3) 0부터 10까지의 랜덤한 정수 생성하기
랜덤한 정수를 생성하려면 Math.floor() 메서드를 함께 이용해줘야 합니다.
floor() 메서드는 값을 내리기 때문에 0부터 10사이의 범위를 지정하고 싶다면 11까지 설정을 해 줘야 합니다.
Math.floor(Math.random()*11); // 0부터 10까지 랜덤한 정수 생성
2-3. (응용) 원하는 구간에서 정수로 난수 생성하기
Math.floor(Math.random()*(최댓값-최솟값+1))+최솟값;
<body>
<script>
Math.floor(Math.random()*31); //0부터 30까지 정수로 난수 발생
Math.floor(Math.random()*31)+120; // 120부터 150까지 정수로 난수 발생
</script>
</body>
'JavaScript' 카테고리의 다른 글
[JavaScript] 소수점 둘째자리에서 반올림 toFixed() , truncateToFixed() 메서드 (1) | 2024.03.29 |
---|---|
[JavaScript] 자바스크립트 배열 2 : 배열 객체 메서드 총정리 (0) | 2024.03.25 |
[JavaScript] 자바스크립트 배열 1 : 배열 생성 & 저장된 데이터 출력하기 (0) | 2024.03.25 |
[JavaScript] 자바스크립트 문자열 객체 String 메서드 정리 2 (0) | 2024.03.15 |
[JavaScript] 자바스크립트 문자열 객체 String 메서드 정리 1 (1) | 2024.03.15 |

📝 JavaScript
🖥️ Math 객체
오늘은 자바스크립트 내장 객체인 수학객체(Math Object)에 대해 알아볼게요.
더하기, 곱하기, 나누기 등은 산술 연산자를 사용해서 계산할 수 있지만,
최댓값, 최솟값, 반올림 등은 Math 객체에 포함된 수학 메서드를 이용해서 처리해 줄 수 있습니다.
✅ 1. Math 객체의 메서드 한 눈에 보기
종류
|
기능
|
Math.abs(숫자)
|
절대값 반환
|
Math.max(숫자1, 숫자2, 숫자3, 숫자4)
|
숫자 중 가장 큰 값 반환
|
Math.min(숫자1, 숫자2, 숫자3, 숫자4)
|
숫자 중 가장 작은 값 반환
|
Math.pow(숫자, 제곱값)
|
숫자의 거듭제곱값 반환
|
Math.random()
|
0~1 사이의 난수 반환
(이해가 어려울 수 있으므로 아래 설명할게요)
|
Math.round(숫자)
|
소수점 첫째 자리에서 반올림하여 정수 반환
|
Math.ceil(숫자)
|
소수점 첫째 자리에서 무조건 올림하여 정수 반환
|
Math.floor(숫자)
|
소수점 첫째 자리에서 무조건 내림하여 정수 반환
|
Math.sqrt(숫자)
|
숫자의 제곱근값 반환
|
Math.PI
|
원주율 상수 3.14를 반환
|
[ 예시 ]
<script> let num = 2.1234; let maxNum = Math.max(10,5,8,30), //30 minNum = Math.min(10,5,8,30), //5 roundNum = Math.round(num), //2 floorNum = Math.floor(num), //2 ceilNum = Math.ceil(num), //3 rndNum = Math.random(), //0~1 piNum = Math.PI; // 3.14 Math.floor(Math.random()*31); //0부터 30까지 정수로 난수를 발생한다. Math.floor(Math.random()*31)+120; //120부터 150까지 정수로 난수를 발생한다. </script>
출처: (이지스퍼블리싱) 자바스크립트 + 제이쿼리 입문( p.95)
1-1. 최대값
Math.max()
<body> <script> // 두 수 중에서 최대값 let maxNum = Math.max(10,5,8,30); document.write(maxNum); // 30 </script> </body>
1-2. 최소값
Math.min()
<body> <script> // 두 수 중에서 최소값 let minNum = Math.min(10,5,8,30); document.write(minNum); // 5 </script> </body>
1-3. 반올림 (소수점 첫째자리에서 반올림하여 정수 반환)
Math.round()
<body> <script> // 소수점 첫째 자리에서 반올림하여 정수 반환 let num = 2.1234 let roundNum = Math.round(num); document.write(roundNum); // 2 </script> </body>
1-4. 내림 (소수점 첫째자리에서 무조건 내림하여 정수 반환)
Math.floor()
<body> <script> // 소수점 첫째 자리에서 내림하여 정수 반환 num = 2.1234 let floorNum = Math.floor(num); document.write(floorNum); // 2 </script> </body>
1-5. 올림 (소수점 첫째자리에서 무조건 올림하여 정수 반환)
Math.ceil()
<body> <script> // 소수점 첫째 자리에서 올림하여 정수 반환 num = 2.1234 let ceilNum = Math.ceil(num); document.write(ceilNum); // 3 </script> </body>
1-6. 절대값
Math.abs()
<body> <script> // 숫자의 절대값 반환 num = -2 let absNum = Math.abs(num); document.write(absNum); // 2 </script> </body>
1-7. 거듭제곱값
Math.pow(숫자, 제곱값)
<body> <script> // 숫자의 거듭제곱값 반환 num = 2 let powNum = Math.pow(num, 3); document.write(powNum); // 8 </script> </body>
✅ 2. 난수 생성 (랜덤한 숫자 생성하기)
2-1. 난수란?
예측할 수 없는 값이란 뜻으로 범위를 지정하면 생성되는 랜덤한 숫자를 말해요.
자바스크립트에서는 Math.random() 메서드를 사용해서 난수를 생성할 수 있습니다.
이 메서드를 사용하면 0부터 1사이의 실수가 랜덤하게 반환됩니다.
그렇다면 위와 달리 0과 1 사이가 아닌, 임의로 지정한 숫자의 구간에서 난수를 정수로 반환 받으려면 어떻게 할까요?
2-2. Math.random()
1) 0부터 1 사이의 랜덤한 실수 생성
Math.random(); // 0부터 1 사이의 실수 랜덤 생성
2) 0부터 10까지의 랜덤한 실수 생성하기
Math.random()*10; // 0부터 10까지 실수로 난수를 반환
3) 0부터 10까지의 랜덤한 정수 생성하기
랜덤한 정수를 생성하려면 Math.floor() 메서드를 함께 이용해줘야 합니다.
floor() 메서드는 값을 내리기 때문에 0부터 10사이의 범위를 지정하고 싶다면 11까지 설정을 해 줘야 합니다.
Math.floor(Math.random()*11); // 0부터 10까지 랜덤한 정수 생성
2-3. (응용) 원하는 구간에서 정수로 난수 생성하기
Math.floor(Math.random()*(최댓값-최솟값+1))+최솟값;
<body> <script> Math.floor(Math.random()*31); //0부터 30까지 정수로 난수 발생 Math.floor(Math.random()*31)+120; // 120부터 150까지 정수로 난수 발생 </script> </body>
'JavaScript' 카테고리의 다른 글
[JavaScript] 소수점 둘째자리에서 반올림 toFixed() , truncateToFixed() 메서드 (1) | 2024.03.29 |
---|---|
[JavaScript] 자바스크립트 배열 2 : 배열 객체 메서드 총정리 (0) | 2024.03.25 |
[JavaScript] 자바스크립트 배열 1 : 배열 생성 & 저장된 데이터 출력하기 (0) | 2024.03.25 |
[JavaScript] 자바스크립트 문자열 객체 String 메서드 정리 2 (0) | 2024.03.15 |
[JavaScript] 자바스크립트 문자열 객체 String 메서드 정리 1 (1) | 2024.03.15 |