본문 바로가기
JS/JavaScript 강의

[JS] 56. Math object

by 박기린 2022. 12. 28.

안녕하세요. 박기린 입니다.

이번에는 자바스크립트의 수학 연산관련 내장 객체인 'Math'의 속성과 메소드에 대해 설명해보겠습니다.

 

 

Math.sqrt()

console.log(Math.sqrt(25));

// - 지수가 분수인 수 -
console.log(25 ** (1 / 2));
console.log(8 ** (1 / 3));
Math.sqrt(제곱근을 구하고 싶은 Number);

Math.sqrt() 함수는 인수로 받은 Number의 제곱근을 구해줍니다.

만약 세제곱근을 비롯한 '지수가 분수인 수'를 계산하고 싶다면, 위의 예제 코드처럼 **(제곱 연산자)에 분수를 넘겨주면 됩니다.

 

 

실행결과물

 


Math.max()

console.log(Math.max(5, 18, 23, 11, 2)); // 23
console.log(Math.max(5, 18, '23', 11, 2)); // 23 <- type coercion
console.log(Math.max(5, 18, '23px', 11, 2)); // NaN

Math.max() 함수는 인수로 받은 모든 값을 Number 타입으로 type coercion을 한 뒤에, 그 중 최대값을 구합니다.

만약 Number type coercion이 불가능한 값이 존재한다면, NaN을 return합니다.

 

 

실행결과물

 

 

 


Math.min()

console.log(Math.min(5, 18, 23, 11, 2)); // 2
Math.min()은 Math.max()와 반대로 인수로 받은 값들의 최소값을 구합니다.
 

 

 

 


Math.PI

console.log(Math.PI * Number.parseFloat('10px') ** 2);
Math.PI는 method가 아닌 property입니다. 우리가 아는 원주율 파이(π)입니다.
 

실행결과물

 

 

 


Math.random()

0부터 1사이의 값을 임의로 생성합니다.

 

실행결과물

 

 

 


Math.trunc() - 소수제거

console.log(Math.trunc(Math.random() * 6) + 1);

const randomInt = (min, max) =>
  Math.floor(Math.random() * (max - min) + 1) + min;
// 0...1 -> 0...(max - min) -> min...max
console.log(randomInt(10, 20));

Math.trunc()는 Number의 소수 부분을 제거하고 정수부분을 return하는 함수입니다.

 

실행결과물

 

 


Math.round() - 반올림

console.log(Math.round(23.3)); // 23
console.log(Math.round(23.9)); // 24

Math.round()는 인수로 받은 Number의 가장 가까운 정수(반올림한 수)를 return 합니다.

 

 

실행결과물

 

 

 


Math.ceil() - 올림

console.log(Math.ceil(23.3)); // 24
console.log(Math.ceil(23.9)); // 24

Math.ceil()은 인수로 받은 Number보다 크거나 같은 정수를 return합니다.

 

 

실행결과물

 

 

 


Math.floor() - 내림

console.log(Math.floor(23.3)); // 23
console.log(Math.floor('23.9')); // 23 <- type coercion

Math.floor()은 인수로 받은 Number보다 작거나 같은 정수를 return합니다.

 

 

실행결과물

 

 

 


Math.trunc()와 Math.floor()의 차이

console.log(Math.trunc(23.3)); // 23

console.log(Math.trunc(-23.3)); // -23
console.log(Math.floor(-23.3)); // -24

Math.trunc()와 Math.floor()은 양수일 때 똑같은 값을 return합니다. 하지만 음수일 때는 다릅니다.

floor()는 내림이기 때문에, 음수일 경우 정수 부분에 -1을 합니다.

반대로 trunc()는 소수부분만 제거하기 때문에, 음수일 때도 소수부분만 제거하고 끝냅니다.

(음수일 경우 Math.ceil()과 동일한 값을 return 합니다.)

 

 

 

 

 

반응형

'JS > JavaScript 강의' 카테고리의 다른 글

[JS] 58. 날짜 만들기 - Date  (0) 2023.01.03
[JS] 57. Bigint 타입  (0) 2023.01.02
[JS] 55. Number 타입의 부가적인 내용 (conversion, parsing, checking)  (0) 2022.12.22
54. sorting Arrays  (0) 2022.12.21
53. includes/some/every  (0) 2022.12.20