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 2015å¹´7æ.
Math.log() ã¯éçã¡ã½ããã§ãæ°å¤ã®ï¼e ãåºã¨ããï¼èªç¶å¯¾æ°ãè¿ãã¾ãã
試ãã¦ã¿ã¾ããã
function getBaseLog(x, y) {
return Math.log(y) / Math.log(x);
}
// 2 x 2 x 2 = 8
console.log(getBaseLog(2, 8));
// äºæ³ãããçµæ: 3
// 5 x 5 x 5 x 5 = 625
console.log(getBaseLog(5, 625));
// äºæ³ãããçµæ: 4
æ§æ
Math.log(x)
弿°
x-
0 以ä¸ã®æ°å¤ã§ãã
è¿å¤
x ã®ï¼e ãåºã¨ããï¼èªç¶å¯¾æ°ã§ãã x ã ±0 ã®å ´åã¯ã -Infinity ãè¿ãã¾ãã x < 0 ã®å ´åã¯ã NaN ãè¿ããã¾ãã
解説
log() 㯠Math ã®éçã¡ã½ããã§ãããããçæãã Math ãªãã¸ã§ã¯ãã®ã¡ã½ããã¨ãã¦ã§ã¯ãªãã常㫠Math.log() ã¨ãã¦ä½¿ç¨ããããã«ãã¦ãã ãã (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() ã®ä½¿ç¨
Math.log(-1); // NaN
Math.log(-0); // -Infinity
Math.log(0); // -Infinity
Math.log(1); // 0
Math.log(10); // 2.302585092994046
Math.log(Infinity); // Infinity
æ§ã ãªåºã«ãã Math.log() ã®ä½¿ç¨
以ä¸ã®é¢æ°ã¯ã x ãåºã¨ãã y ã®å¯¾æ°ãè¿ãã¾ã (ããªãã¡ )ã
function getBaseLog(x, y) {
return Math.log(y) / Math.log(x);
}
getBaseLog(10, 1000) ãå®è¡ããã¨ãå®éã®çãã 3 ã§ããã®ã«å¯¾ããæµ®åå°æ°ç¹ã®ä¸¸ãå¦çã«ããè¿ä¼¼å¤ã® 2.9999999999999996 ãè¿ãã¾ãã
仿§æ¸
| Specification |
|---|
| ECMAScript® 2027 Language Specification> # sec-math.log> |