Math 객체는 수학에서 자주 사용하는 상수와 함수들을 미리 구현해 놓은 자바스크립트 표준 내장 객체이다.
생성자가 존재하지 않아서 따로 인스턴스를 생성하지 않더라도 Math 객체의 모든 method나 property를
바로 사용할 수 있다.
함수 종류
Math.min(x,y,z....) | 가장 작은 값 반환 |
Math.max(x,y,z....) | 가장 큰 값 반환 |
Math.random() | 0보다 크거나 같고 1보다 작은 무작위 숫자 반환 |
Math.round(x) | 소수점 첫 번째 자리에서 반올림 후 반환 |
Math.floor(x) | 인수와 같거나 작은 수 중에서 가장 큰 정수 반환 |
Math.ceil(x) | 인수와 같거나 큰 수 중에서 가장 작은 정수 반환 |
Math.abs(x) | x의 절댓값 반환 |
Math.sqrt(x) | x의 제곱근 반환 |
Math.cbrt(x) | x의 세제곱근 반환 |
Math.clz32(x) | x를 32비트 이진수로 변환 후 0이 아닌 비트의 개수 반환 |
Math.exp(x) | e의 x제곱근 값을 반환 |
Math.expm1(x) | 1 - e의 제곱근 값을 반환 |
Math.fround(x) | x와 가장 근접한 32비트 부동 소수점 수(single precision float)를 반환 |
Math.hypot(x,y, ...) | 인수로 전달받은 값들을 각각 제곱한 후 더한 총합의 제곱근을 반환 |
Math.imul(x,y) | 인수로 전달받은 두 값의 32비트 곱셈 결과를 반환 |
Math.log(x) | x의 자연로그 값을 반환.(ln x) |
Math.log10(x) | ln(1 + x)의 값을 반환 |
Math.log2(x) | x의 2를 밑으로 가지는 로그 값을 반환 |
Math.log10(x) | x의 10을 밑으로 가지는 로그 값을 반환 |
Math.pow(x,y) | x의 y제곱을 반환 |
Math.sign(x) | x의 부호 값을 반환 |
Math.trunc(x) | x의 모든 소수 부분을 삭제하고 정수 부분만을 반환 |
Math.sin(x), Math.cos(x), Math.tan(x),Math.asin(x), Math.acos(x), Math.atan(x), Math.asinh(x), Math.acosh(x), Math.atanh(x), Math.atan2(x) |
x의 해당 삼각함수값을 반환 |
자바 스크립트에서 제공하는 삼각 함수에 관한 모든 메서드는 각도의 단위로 라디안(radian)을 사용한다.
이 때 라디안 단위와 60분법 단위를 서로 변환하기 위해서는 다음과 같은 공식을 사용한다.
-> 라디안값 = 60분법값 * (Math.PI / 180)
javascript 나눗셈에서 몫 구하기
-> 몫: let result = parseInt( x / y );
Math.min, Math.max 인자에 배열 넣는 방법
-> Math.min(...arr) / Math.max(...arr) : spread연산자를 사용하여 배열의 원소들을 인자로 나열해 준다.
자바스크립트 Math 프로퍼티
자바스크립트는 수학에서 사용하는 다양한 상수들을 Math 프로퍼티를 이용해 제공하고있다.
프로퍼티 | 설명 | 대략값 |
Math.E | 오일러의 수(Euler's constant)라고 불리며, 자연로그(natural logarithms)의 밑(base) 값 | 2.718 |
Math.LN2 | 2의 자연로그 값 | 0.693 |
Math.LN10 | 10의 자연로그 값 | 2.303 |
Math.LOG2E | 오일러 수(e)의 밑 값이 2인 로그 값 | 1.443 |
Math.LOG10E | 오일러 수(e)의 밑 값이 10인 로그 값 | 0.434 |
Math.PI | 원의 원주를 지름으로 나눈 비율(원주율) 값 | 3.14159 |
Math.SQRT1_2 | 2의 제곱근의 역수 값 | 0.707 |
Math.SQRT2 | 2의 제곱근 값 | 1.414 |
'JavaScript' 카테고리의 다른 글
[JavaScript] #13 - Prototype (1) | 2023.01.19 |
---|---|
[JavaScript] #12 - reduce 함수 (0) | 2023.01.18 |
[JavaScript] #10 - 배열 (Array) (0) | 2023.01.14 |
[JavaScript] #09 - Object.defineProperty() (0) | 2023.01.14 |
[JavaScript] #08 - getter & setter (접근자 프로퍼티) (0) | 2023.01.13 |