본 문서는 2022년 1월 31일 에 작성되었다.
사실,
Math 클래스를 별도로 공부해야 할 만큼 중요도가 높은가? 라고 생각했습니다.
하지만,
여러 알고리즘 및 구현 문제에서 경우의 수 등을 계산하기 위해 관련 함수의 필요성을 느꼈습니다.
4 개 중에 2개를 고르는 것은 ₄C ₂= n! / (r! * (n-r)!) 이었습니다.
그런데 이걸 어떻게 계산할 것인가?
1부터 n 값까지 곱해서 일일히 함수 형식으로 구현할 것인가?
직접 작성해보지 않아도 미래는 뻔해 보였습니다.
너무나 길고 복잡한 코드 탓에 한 달만 지나도 해당 코드의 목적을 해독해야 할 것 입니다.
따라서 Math 클래스의 학습이 필요하다고 느꼈습니다.
Math 는 수학적인 상수와 함수를 위한 속성과 메서드를 가진 내장 객체입니다.
Math mdn
즉,
Math 는 전술한 Array, Set, Map 와는 달리, 인스턴스를 생성하는 방식이 아니라 내부 함수를 바로 호출하는 용도이다.
실제로 함수의 형식을 보면 ... 아래와 같은 차이가 있다.
Array.prototype.fill()
Math.exp()
따라서 ✅ Constructor 도 존재하지 않는다.
대신 ✅ Property ✅ Function 들을 주의 깊게 보자.
Property 는 모두 Math mdn 을 참고하였습니다.
자세한 내용은 Prorperty Detail 을 참고하세요.
자연로그 밑 값 e
Math.E=e≈2.718
2의 자연로그 값
Math.LN2=ln(2)≈0.693
10의 자연로그 값
Math.LN10=ln(10)≈2.302
밑이 2인 로그 E 값
Math.LOG2E=log2(e)≈1.442
밑이 10인 로그 E 값
Math.LOG10E=log10(e)≈0.434
원의 둘레와 지름의 비율, 원주율
Math.PI=π≈3.14159
2 의 제곱근
1/2 의 제곱근
Function 도 모두 Math mdn 을 참고하였습니다.
자세한 내용은 Prorperty Detail, More 을 참고하세요.
절댓값 반환
차례대로 올림, 내림, 반올림 값 반환
차례대로 제곱근, 세제곱근 값 반환
차례대로 배열 내의 최댓값, 최솟값 반환
0과 1사이의 난수를 반환
정수의 양수, 음수 부호만 반한
실수에서 정수부분만 반환
x 의 y 제곱을 반환
fround() 는 single precision 으로 사용될 수 있는 실수들 중에서 가장 인접한 수를 반환한다.
clr32 는 주어진 32비트 정수의 선행 0 갯수를 반환한다.
삼각함수는 매개변수와 반환값 모두 라디안(호도법) 을 사용 합니다.
라디안 값 / (Math.PI/100) = 각도 값
각도 값 * (Math.PI/100) = 라디안 값
... 이외에도 쌍곡탄젠트 함수