소년코딩

자바스크립트에서는 수학 공식과 각종 상수를 Math 객체에 저장한다.

Math 객체에는 복잡한 수학 계산에 필요한 프로퍼티와 메서드들이 들어있다.

필요한 계산이 Math 객체에 구현되어 있다면 해당 수식을 직접 만들기 보다는 구현된 것을 이용하는 편이 더 좋다.


1. 상수 프로퍼티

  • Math.E: 자연로그의 밑수인 e의 값

  • Math.LN10: 10의 자연로그

  • Math.LN2: 2의 자연로그

  • Math.LOG2E: e의 밑수가 2인 로그(base 2)

  • Math.LOG10E: e의 밑수가 10인 로그(base 10)

  • Math.PI: π 값

  • Math.SQRT1_2: ½의 제곱근

  • Math.SQRT2: 2의 제곱근


2. 메서드

1) 최솟값, 최댓값

  • Math.min()

  • Math.max()

Math.min() 메서드: 매개변수 중 가장 작은 숫자를 반환한다.(최솟값)

Math.max() 메서드: 매개변수 중 가장 큰 숫자를 반환한다.(최댓값)

var max = Math.max(1, 17, 4, 23, 24);
console.log(max);        // 24
 
var min = Math.min(9. 6. 3. 1. 7. 5);
console.log(min);        // 1
 
var array = [1, 2, 3, 4, 5, 6, 7, 8];
var max_array = Math.max.apply(Math, array);
console.log(max_array);  // 8

 

2) 반올림

  • Math.ceil()

  • Math.floor()

  • Math.round()

Math.ceil() 메서드: 항상 가장 가까운 정수로 값을 올림 연산한다.
Math.floor() 메서드: 항상 가장 가까운 정수로 값을 내림 연산한다.
Math.round() 메서드: 반올림 메서드다. (0.5 이상이면 올림, 미만이면 내림 연산을 한다.)

// 항상 올림
console.log(Math.ceil(25.9));              // 26
console.log(Math.ceil(25.5));              // 26
console.log(Math.ceil(25.1));              // 26
 
// 항상 내림
console.log(Math.floor(25.9));              // 25
console.log(Math.floor(25.5));              // 25
console.log(Math.floor(25.1));              // 25
 
// 반올림(0.5 이상이면 올림 미만이면 내림)
console.log(Math.round(25.9));              // 26
console.log(Math.round(25.5));              // 26
console.log(Math.round(25.1));              // 25

 

3) Random

  • Math.random()

Math.random() 메서드: 0과 1사이의 난수를 반환하되 0이나 1을 반환하지는 않는다.

 

다음과 같이 Math.floor(Math.random() * 원하는 경우의 수)) + 그 중 가장 작은 값) 형태로 원하는 범위의 정수를 얻을 수 있다.

var num = Math.floor(Math.random() * 10 + 1);       // 1과 10 사이의 값

 

4) 기타

  • Math.abs(num): num의 절댓값을 반환한다.

  • Math.exp(num): Math.E의 num 제곱을 반환한다.

  • Math.log(num): num의 자연로그를 반환한다.

  • Math.pow(num, power): num의 power 제곱을 반환한다.

  • Math.sqrt(num): num의 제곱 근을 반환한다.

  • Math.acos(x): x의 아크 코사인을 반환한다.

  • Math.asin(x): x의 아크 사인을 반환한다.

  • Math.atan(x): x의 아크 탄젠트를 반환한다.

  • Math.atan2(y, x): y/x의 아크 탄젠트를 반환한다.

  • Math.cos(x): x의 코사인을 반환한다.

  • Math.sin(x): x의 사인을 반환한다.

  • Math.tan(x): x의 탄젠트를 반환한다.



자바스크립트

by 소년코딩

추천은 글쓴이에게 큰 도움이 됩니다.

악플보다 무서운 무플, 댓글은 블로그 운영에 큰 힘이됩니다.


댓글 로드 중…

블로그 정보

소년코딩 - 소년코딩

소년코딩, 자바스크립트, C++, 물리, 게임 코딩 이야기

최근에 게시된 이야기