본문 바로가기

Javascript

[모던 자바스크립트 Deep Dive] 26. Math

Math 프로퍼티

1. Math.PI

  • 원주율 PI 값을 반환
Math.PI; // 3.141592653589793

 

Math 메서드

1. Math.abs

  • 인수로 전달된 숫자의 절대값을 반환 (절대값은 반드시 0 또는 양수여야 함)
  • 인수로 숫자가 아닌 값을 전달하면 인수로 숫자를 강제 변환한 후 절대값 반환 
Math.abs(""); // 0
Math.abs("-23"); // 23
Math.abs('string'); // NaN

 

2. Math.round

  • 인수로 전달된 숫자의 소수점 이하를 반올림한 정수 반환
  • 인수로 숫자가 아닌 값을 전달하면 인수로 숫자를 강제 변환한 후 숫자의 소수점 이하를 반올림한 정수 반환
Math.round(1.5);	//2
Math.round(-1.6);	// -2
Math.round();		// NaN
Math.round('3.34');	// 3

 

3. Math.ceil

  • 인수로 전달된 숫자의 소수점 이하를 올림한 정수를 반환
  • 소수점 이하를 올림하면 더 큰 정수가 됨
  • 인수로 숫자가 아닌 값을 전달하면 인수로 숫자를 강제 변환한 후 소수점 이하를 올림한 정수를 반환
Math.ceil(-1.6);	// -1
Math.ceil('3.423');	// 4

 

4. Math.floor

  • 인수로 전달된 숫자의 소수점 이하를 내림한 정수 반환
  • 소수점 이하를 내리면 더 작은 정수가 됨
  • 인수로 숫자가 아닌 값을 전달하면 인수로 숫자를 강제 변환한 후 소수점 이하를 내림한 정수 반환
Math.floor(1.9);	// 1
Math.floor('-9.1');	// -10

 

5. Math.sqrt

  • 인수로 전달된 숫자의 제곱근 반환
  • 인수로 숫자가 아닌 값을 전달하면 인수로 숫자를 강제 변환한 후 제곱근 반환
Math.sqrt('9');	// 3

 

6. Math.random

  • 임의의 난수 (랜덤 숫자)를 반환
  • Math.random 메서드가 반환한 난수는 0에서 1미만의 실수 (0 포함 1 미포함)
/*
 1에서 10 범위의 랜덤 정수 획득
 Math.random 으로 0에서 1미만의 실수를 구한 다음 10을 곱해 0에서 10미만의 랜덤 실수를 구함
 1을 더해 1에서 10까지의 랜덤 실수를 구함
 Math.floor 로 소수점 이하를 떼어버린 다음 정수 반환
*/
const random = Math.floor((Math.random() * 10) + 1);

 

7. Math.pow

  • 첫 번째 인수를 밑으로 두 번째 인수를 지수로 거듭제곱한 결과 반환 
Math.pow(2, 8);	// 256
Math.pow(2);	// NaN

// ES7에 도입된 지수 연산자가 더 가독성이 좋다 
2 ** 2;	// 4
Math.pow(2, 2);	//4

 

8. Math.max

  • 전달받은 인수 중에서 가장 큰 수 반환
  • 인수가 전달되지 않으면 -Infinity 반환
Math.max(1, 2, 3);	// 3
Math.max();			// -Infinity

 

9. Math.min

  • 전달받은 인수 중에서 가장 작은 수 반환
  • 인수가 전달되지 않으면 Infinity 반환
Math.min(1, 2, 3);	// 1
Math.min();			// Infinity