// 平方根を求める 2 つの方法。
Math.sqrt(100); // 10、方法 1
100*(1/2); // 10、方法 2
8*(1/3); // 2、立方根にも機能します
Math.max(23,54,12,6,32,98,87,34,11); // 98
// 型強制も行います
Math.min(23,54,12,'6',32,98,87,34,11); // 6
// 解析は行いません
Math.min(23,54,12,'6px',32,98,87,34,11); // NaN
Math.PI * (Number.parseFloat('10px')**(2)); // 領域を取得
Math.trunc(Math.random() * 6) 1;
constrandomInt = (min, max) => Math.floor(Math.random() * (最大-最小)) 1 分;
randomInt(10,20);
// これらの Math.method() はすべて型強制を行います。
Math.trunc(25.4); // 25
Math.round(25.4); // 25
Math.floor(25.4); // 25
Math.ceil(25.4); // 26
Math.trunc(-25.4); // -25
Math.floor(-25.4); // -26
// 小数点以下の四捨五入: .toFixed は数値ではなく文字列を返します
(2.5).toFixed(0); // '3'
(2.5).toFixed(3); // '2.500'
(2.345).toFixed(2); // '2.35'
// 単項記号を追加して no に変換します。
(2.345).toFixed(2); // 2.35
// Number はプリミティブであるため、メソッドがありません。つまり、JS は舞台裏でボックス化を行います。つまり、プリミティブをオブジェクトなしに変換し、操作を実行し、操作が終了したら、プリミティブに変換します。
5 % 2; // 1
8 % 3; // 2
8/3; // 2.6666666666666665
// 奇数または偶数
const isEven = n => n%2 === 0;
isEven(20);
isEven(21);
isEven(22);
使用例: すべての奇数行、偶数行、n 回目などを処理するために使用されます。
非常に大きな数値を表すために使用されます
これらは数字の間に配置できるアンダースコアです。エンジンはこれらのアンダースコアを無視するため、開発者の混乱が軽減されます。
元。定数直径 = 287_460_000_000;
直径; // 287460000000
定価格 = 342_25;
価格; // 34225
固定料金1 = 1_500;
定数料金2 = 15_00;
料金1 === 料金2; // true
アンダースコアは数字の間にのみ配置できます。
小数点の隣に配置することはできません。
また、番号の先頭または末尾に配置することもできません。
const PI = 3.14_15;
PI; // 3.1415
const PI = 3.1415; // 先頭には配置できません。
const PI = 3.1415; // 最後には配置できません。
const PI = 3_.1415; // 小数点の隣には配置できません。
const PI = 3.1415; // 小数点の隣には配置できません。
const PI = 3._1415; // 2 つ続けて配置することはできません。
数値('2500'); // 2500
数値('25_00'); // NaN 、したがって、数値が変数に直接割り当てられる場合にのみ使用できます。したがって、文字列に no が格納されている場合、または API から no を取得している場合は、エラーを避けるために、数値区切り文字「_」を使用しないでください。
同様のことが parseInt にも当てはまります。つまり、以下に示すように _ 以降はすべて破棄されます。
parseInt('25_00'); // 25
数値は内部的に 64 ビット、つまり 64 個の 1 または 0 で表され、任意の数値を表します。 53 のみが数字の保存に使用され、残りは小数点の位置と符号の保存に使用されます。したがって、数値のサイズ、つまり ((2*
53) - 1) には制限があります。これは、JS が安全に表現できる最大の「いいえ」です。保存中にバイナリ形式で作業するため、基数は 2 です。
2
*53 - 1; // 9007199254740991
Number.MAX_SAFE_INTEGER; // 9007199254740991
Number.MAX_SAFE_INTEGER 1; // 9007199254740992
Number.MAX_SAFE_INTEGER 2; // 9007199254740992
Number.MAX_SAFE_INTEGER 3; // 9007199254740994
Number.MAX_SAFE_INTEGER 4; // 9007199254740996
BigInt にするために、no の末尾に「n」が追加されます。例
const num = 283891738917391283734234324223122313243249821n;
数字; // 283891738917391283734234324223122313243249821n
BigInt は、このような巨大な数値を表示するための JS 方法です。
BigInt 数値を作成するために Constructor Fn を使用する別の方法。
const x = BigInt(283891738917391283734234324223122313243249821);
×; // 283891738917391288062871194223849945790676992n
演算: すべての算術演算子は BigInt と同じように機能します。
const x = 100n 100n;
×; // 200n
const x = 10n * 10n;
×; // 100n
const x = 100n;
const y = 10;
z = x*y; // エラー
これを機能させるには、BigInt コンストラクター Fn を使用します。
z = x * BigInt(y);
z; // 1000n
20分> 19; // true
20n === 20; // false、=== は、JS が型強制を行うのを防ぎます。 LHS と RHS の両方に異なるプリミティブ型があるため、結果は「false」になります。
20n 型; // 'bigint'
タイプ20; // '数値'
20n == 20; // true、JS は BigInt を通常の数値に変換することで、型ではなく値のみを比較する型強制を実行します。
これも同様です: 20n == '20'; // true
演算子を使用すると、BigInt 数値が文字列に変換されません。
const num = 248923874328974239473829n
"num は巨大です。つまり " num; // 'num は巨大です、つまり 248923874328974239473829'
注:
Math.sqrt は BigInt では動作しません。
BigInt の除算では、小数部分が切り捨てられます。
10/3; // 3.3333333333333335
10n / 3n; // 3n
12n / 3n; // 4n
この新しいプリミティブ型は、JS 言語にいくつかの新しい機能を追加し、巨大な言語でも動作できるようにします。
以上がMath 名前空間と BigIntの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。