JavaScript

[JavaScript] #11 - Math 함수

yoonddo 2023. 1. 17. 17:19

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