본문 바로가기

프로그래밍 공부/JavaScript

JavaScript - Math 객체

Math 객체는 자바스크립트의 기본 내장 객체 중 유일하게 생성자 함수를 사용하지 않는 객체다. 또 Math 객체는 이름 그대로 수학과 관련된 속성과 메서드를 가지고 있다. 먼저 Math 객체의 속성(Attribute)은 8가지가 있다.

속성 이름
E 2.718281828459045
LN2 0.6931471805599453
LN10 2.302585092994046
LOG2E 1.4426950408889634
LOG10E 0.4342944819032518
PI 3.141592653589793
SQRT1_2 0.7071067811865476
SQRT2 1.4142135623730951

Math 객체는 생성자 함수가 아니라 그냥 객체이므로 아래와 같이 사용한다.

// 2.718281828459045 출력
console.log(Math.E);

// 0.6931471805599453 출력
console.log(Math.LN2);

// 2.302585092994046 출력
console.log(Math.LN10);

// 1.4426950408889634 출력
console.log(Math.LOG2E);

// 0.4342944819032518 출력
console.log(Math.LOG10E);

// 3.141592653589793 출력
console.log(Math.PI);

// 0.7071067811865476 출력
console.log(Math.SQRT1_2);

// 1.4142135623730951 출력
console.log(Math.SQRT2);

Math 객체의 메서드는 아래와 같다. Math 객체의 메서드로 넘겨진 모든 매개변수는 종류에 관계없이 모두 숫자로 변환된다.

메서드 이름 설명
abs(n) n의 절대 값을 반환한다.
acos(n) n의 아크 코사인 값을 반환한다.
asin(n) n의 아크 사인 값을 반환한다.
atan(n) n의 아크 탄젠트 값을 반환한다.
atan2(m, n) n과 m의 비율로 아크 탄젠트 값을 구해 반환한다.
ceil(n) n보다 크거나 같은 가장 작은 정수를 반환한다.
cos(n) n의 코사인 값을 반환한다.
exp(n) 자연로그의 n 제곱을 반환한다.
floor(n) n보다 크거나 같은 가장 큰 정수를 반환한다.
log(n) n의 로그값을 반환한다.
max(x, y, z...n) 매개변수 중 가장 큰 값을 반환한다.
min(x, y, z...n) 매개변수 중 가장 작은 값을 반환한다.
pow(n, m) n의 m제곱을 반환한다.
random() 0부터 1까지의 임의의 수를 반환한다.
round(n) n을 반올림하여 반환한다.
sin(n) n의 사인 값을 반환한다.
sqrt(n) n의 제곱근을 반환한다.
tan(n) n의 탄젠트 값을 반환한다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
function pow(a, b){
    let answer=Math.pow(a, b);
        return alert(a+'의 '+b+'제곱은 '+answer);
}
pow(Number(prompt('숫자')), Number(prompt('제곱')))
 
function mult(x, y){
    if(y){
        let answer=Math.pow(x, y)
        return alert(x+'의 '+y+'제곱은 '+answer);
    }else{
        return alert(x+'의 제곱은 '+(x*x));
    }
}
mult(Number(prompt('숫자')), Number(prompt('제곱')))
cs

Math 객체는 여러가지 방법으로 사용할 수 있다. 자바스크립트의 함수는 하나의 자료형 이기 때문에 변수에 저장할 수 있는데 이것을 이용해서 Math 객체의 메서드를 변수에 저장해서 함수처럼 불러와 사용할 수 있다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
let max=Math.max;
alert(max(1,2,3,4,5));
 
function mult(x, y){
    let mathPow=Math.pow(x, y);
    let mathSquare=x*x;
    if(y){
        let answer=mathPow;
        return alert(x+'의 '+y+'제곱은 '+answer);
    }else{
        return alert(x+'의 제곱은 '+(mathSquare));
    }
}
mult(Number(prompt('숫자')), Number(prompt('제곱')))
cs

Math 객체.html
0.00MB

'프로그래밍 공부 > JavaScript' 카테고리의 다른 글

JavaScript - 브라우저 객체 모델 개요  (0) 2019.12.13
JavaScript - 기본 내장 객체 심화  (0) 2019.12.13
JavaScript - Date 객체  (0) 2019.12.12
JavaScript - Array 객체  (0) 2019.12.12
JavaScript - String 객체  (0) 2019.12.12