From 33058f2b292b3a581333bdfb21b8f671898c5060 Mon Sep 17 00:00:00 2001 From: Peter Bengtsson Date: Tue, 8 Dec 2020 14:40:17 -0500 Subject: initial commit --- .../reference/global_objects/math/index.html | 188 +++++++++++++++++++++ 1 file changed, 188 insertions(+) create mode 100644 files/ja/web/javascript/reference/global_objects/math/index.html (limited to 'files/ja/web/javascript/reference/global_objects/math/index.html') diff --git a/files/ja/web/javascript/reference/global_objects/math/index.html b/files/ja/web/javascript/reference/global_objects/math/index.html new file mode 100644 index 0000000000..711c071a18 --- /dev/null +++ b/files/ja/web/javascript/reference/global_objects/math/index.html @@ -0,0 +1,188 @@ +--- +title: Math +slug: Web/JavaScript/Reference/Global_Objects/Math +tags: + - JavaScript + - Math + - Namespace + - Reference + - 名前空間 +translation_of: Web/JavaScript/Reference/Global_Objects/Math +--- +
{{JSRef}}
+ +

Math は、数学的な定数と関数を提供するプロパティとメソッドを持つ、組み込みのオブジェクトです。関数オブジェクトではありません。

+ +

Math は {{jsxref("Number")}} 型で動作します。 {{jsxref("BigInt")}} 型では動作しません。

+ +

解説

+ +

他のグローバルオブジェクトと異なり、Math はコンストラクタではありません。Math オブジェクトのすべてのプロパティとメソッドは、静的です。円周率を表す定数πは、Math.PI として参照でき、正弦関数は、 Math.sin(x) として呼び出すことができます (ここでの x は、メソッドの引数です)。定数は、 JavaScript における実数での完全な精度で定義されています。

+ +
+

メモ: 多くの Math 関数の精度は実装に依存します

+ +

これは、ブラウザーごとに結果が異なる場合があることを意味し、同じ JavaScript エンジン上であっても、 OS やアーキテクチャが異なれば結果が異なる場合があります。

+
+ +

静的プロパティ

+ +
+
{{jsxref("Math.E")}}
+
ネイピア数 (オイラー数)。これは自然対数の底として用いられる数学定数で、約 2.718 です。
+
{{jsxref("Math.LN2")}}
+
2 の自然対数。約 0.693 です。
+
{{jsxref("Math.LN10")}}
+
10 の自然対数。約 2.303 です。
+
{{jsxref("Math.LOG2E")}}
+
2 を底とした E の対数。約 1.443 です。
+
{{jsxref("Math.LOG10E")}}
+
10 を底とした E の対数。約 0.434 です。
+
{{jsxref("Math.PI")}}
+
円周率。約 3.14159 です。
+
{{jsxref("Math.SQRT1_2")}}
+
½ の平方根 (または1/√2 とひとしいすう)。約 0.707 です。
+
{{jsxref("Math.SQRT2")}}
+
2 の平方根。約 1.414 です。
+
+ +

静的メソッド

+ +
+
{{jsxref("Global_Objects/Math/abs", "Math.abs(x)")}}
+
x の絶対値を返す。
+
{{jsxref("Global_Objects/Math/acos", "Math.acos(x)")}}
+
x のアークコサイン (逆余弦) を返す。
+
{{jsxref("Global_Objects/Math/acosh", "Math.acosh(x)")}}
+
x のハイパーボリックアークコサイン (双曲線逆余弦) を返す。
+
{{jsxref("Global_Objects/Math/asin", "Math.asin(x)")}}
+
x のアークサイン (逆正弦) を返す。
+
{{jsxref("Global_Objects/Math/asinh", "Math.asinh(x)")}}
+
x のハイパーボリックアークサイン (双曲線逆正弦) を返す。
+
{{jsxref("Global_Objects/Math/atan", "Math.atan(x)")}}
+
x のアークタンジェント (逆正接) を返す。
+
{{jsxref("Global_Objects/Math/atanh", "Math.atanh(x)")}}
+
x のハイパーボリックアークタンジェント (双曲線逆正接) を返す。
+
{{jsxref("Global_Objects/Math/atan2", "Math.atan2(y, x)")}}
+
引数で指定されたの比率のアークタンジェント (逆正接) を返す。
+
{{jsxref("Global_Objects/Math/cbrt", "Math.cbrt(x)")}}
+
x の立方根を返す。
+
{{jsxref("Global_Objects/Math/ceil", "Math.ceil(x)")}}
+
x 以上の最小の整数を返す。
+
{{jsxref("Global_Objects/Math/clz32", "Math.clz32(x)")}}
+
x を 2 進数 32 ビット整数値で表した数の先頭の 0 の個数を返す。
+
{{jsxref("Global_Objects/Math/cos", "Math.cos(x)")}}
+
x のコサイン (余弦) を返す。
+
{{jsxref("Global_Objects/Math/cosh", "Math.cosh(x)")}}
+
x のハイパーボリックコサイン (双曲線余弦) を返す。
+
{{jsxref("Global_Objects/Math/exp", "Math.exp(x)")}}
+
Ex を返します。ここで x は引数であり、 E はオイラー定数 (2.718…, 自然対数の低) です。
+
{{jsxref("Global_Objects/Math/expm1", "Math.expm1(x)")}}
+
exp(x) から 1 を引いた値を返す。
+
{{jsxref("Global_Objects/Math/floor", "Math.floor(x)")}}
+
x 以下の最大の整数を返す。
+
{{jsxref("Global_Objects/Math/fround", "Math.fround(x)")}}
+
x に近似の 単精度 浮動小数点数を返す。
+
{{jsxref("Global_Objects/Math/hypot", "Math.hypot([x[, y[, …]]])")}}
+
引数の二乗和の平方根を返す。
+
{{jsxref("Global_Objects/Math/imul", "Math.imul(x, y)")}}
+
xy の 32 ビット乗算の結果を返す。
+
{{jsxref("Global_Objects/Math/log", "Math.log(x)")}}
+
x の自然対数 (㏒e) を返す。
+
{{jsxref("Global_Objects/Math/log1p", "Math.log1p(x)")}}
+
x1 + x の自然対数 (㏒e) を返す。
+
{{jsxref("Global_Objects/Math/log10", "Math.log10(x)")}}
+
x の 10 を底とした対数 (log10) を返す。
+
{{jsxref("Global_Objects/Math/log2", "Math.log2(x)")}}
+
x の 2 を底とした対数 (log2) を返す。
+
{{jsxref("Global_Objects/Math/max", "Math.max([x[, y[, …]]])")}}
+
引数として与えた複数の値の中で最大の値を返す。
+
{{jsxref("Global_Objects/Math/min", "Math.min([x[, y[, …]]])")}}
+
引数として与えた複数の値の中で最小の値を返す。
+
{{jsxref("Global_Objects/Math/pow", "Math.pow(x, y)")}}
+
xy で累乗した値、すなわち xy を返す。
+
{{jsxref("Global_Objects/Math/random", "Math.random()")}}
+
0 以上 1 未満の疑似乱数を返す。
+
{{jsxref("Global_Objects/Math/round", "Math.round(x)")}}
+
x を四捨五入して、近似の整数を返す
+
{{jsxref("Global_Objects/Math/sign", "Math.sign(x)")}}
+
x の符号を返す。x が正、負、 0 のいずれであるかを返す。
+
{{jsxref("Global_Objects/Math/sin", "Math.sin(x)")}}
+
x のサイン (正弦) を返す。
+
{{jsxref("Global_Objects/Math/sinh", "Math.sinh(x)")}}
+
x のハイパーボリックサイン (双曲線正弦) を返す。
+
{{jsxref("Global_Objects/Math/sqrt", "Math.sqrt(x)")}}
+
x の平方根を返す
+
{{jsxref("Global_Objects/Math/tan", "Math.tan(x)")}}
+
x のタンジェント (正接) を返す。
+
{{jsxref("Global_Objects/Math/tanh", "Math.tanh(x)")}}
+
x のハイパーボリックサイン (双曲線正接) を返す。
+
{{jsxref("Global_Objects/Math/trunc", "Math.trunc(x)")}}
+
数値 x の小数点以下を削除し、整数の部分を返す。
+
+ +

+ +

角度とラジアンの間の変換

+ +

三角関数 (sin(), cos(), tan(), asin(), acos(), atan(), atan2()) は、角度にラジアンを要求したり、返したりします。

+ +

人間は角度で考える傾向があり、 (CSS 変形関数など) 一部の関数角度を受け付けますので、手軽に両者の間を変換する関数を用意しておくといいでしょう。

+ +
function degToRad(degrees) {
+  return degrees * (Math.PI / 180);
+};
+
+function radToDeg(rad) {
+  return rad / (Math.PI / 180);
+};
+ +

二等辺三角形の高さの計算

+ +

二等辺三角形の高さを計算したい場合、側辺の長さが 100 であるとわかっている場合は、隣の角に正接を乗じた長さは、反対側と等しくなるという数式を使用することができます。

+ +

+ +

JavaScript では、次のようにして実現することができます。

+ +
50 * Math.tan(degToRad(60)).
+ +

degToRad() 関数を使用して60度をラジアンに変換しています。これは {{jsxref("Math.tan()")}} がラジアンの入力値を要求するからです。

+ +

2つの値の間にある整数の乱数を返す

+ +

これは {{jsxref("Math.random()")}} と {{jsxref("Math.floor()")}} の組み合わせで実現できます。

+ +
function random(min, max) {
+  const num = Math.floor(Math.random() * (max - min + 1)) + min;
+  return num;
+}
+
+random(1, 10);
+ +

仕様書

+ + + + + + + + + + + + +
仕様書
{{SpecName('ESDraft', '#sec-math-object', 'Math')}}
+ +

ブラウザーの互換性

+ + + +

{{Compat("javascript.builtins.Math")}}

+ +

関連情報

+ + -- cgit v1.2.3-54-g00ecf