Math.log()
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
Math.log()
정적 메서드는 숫자의 자연 로그(밑이 e)를 반환합니다. 즉, 아래와 같습니다.
시도해보기
구문
Math.log(x)
매개변수
x
-
0 이상의 수
반환 값
설명
log()
는 Math
의 정적 메서드이기 때문에, 항상 Math.log()
로 사용합니다. 생성한 Math
객체의 메서드로 사용하지 않습니다 (Math
는 생성자가 아닙니다).
2나 10의 자연 로그가 필요하다면, Math.LN2
나 Math.LN10
상수를 사용하세요. 밑이 2나 10인 로그가 필요하다면, Math.log2()
혹은 Math.log10()
을 사용하세요. 다른 밑의 로그가 필요하다면, 아래 예시처럼 Math.log(x) / Math.log(otherBase)
를 사용하세요. 이 경우 1 / Math.log(otherBase)
를 미리 계산해 두는 것이 좋습니다. Math.log(x) * constant
곱셈이 훨씬 더 빠르기 때문입니다.
1에 매우 가까운 양수의 경우 정밀도 손실이 발생할 수 있어 자연 로그의 정확도가 떨어질 수 있습니다. 이런 경우에는 Math.log1p
를 대신 사용하는 것이 좋습니다.
예제
Math.log() 사용하기
다음 함수는 밑 x
의 y
의 로그를 반환합니다. (예: )
function getBaseLog(x, y) {
return Math.log(y) / Math.log(x);
}
getBaseLog(10, 1000)
을 실행하면 2.9999999999999996
을 반환합니다. 이는 부동 소수점 반올림때문인데, 실제 답인 3과 매우 근접합니다.
명세서
Specification |
---|
ECMAScript Language Specification # sec-math.log |
브라우저 호환성
BCD tables only load in the browser