ECMAScript 6の新特性——「数値の拡張」
3508 ワード
1バイナリと8進数表記法
ES 6は、プレフィクス0 b(または0 B)および0 o(または0 O)でそれぞれ表す2進数および8進数の新しい書き方を提供する.
ES 5:
3 Number.parseInt()、Number.parseFloat()
ES 5:
浮動小数点と整数は同じ保存方法ですので、0は整数と解釈されます.
5 Number.EPSILON
極小の定数
JavaScriptが正確に表現できる整数範囲は-2^53から2^53の間にあります.この範囲を超えて、この値を正確に表現することはできません.
ES 6は、
演算結果だけを検証しないで、演算に参加する各値を検証してください.
Math.trunc()
Math.trunc方法は、小数点以下の部分を除いて整数部分を返します.
Math.sign方法は、一つの数が正数か、負か、それともゼロかを判断するために使用されます.
Math.cbt方法は、1つの数の立方根を計算するために使用されます.
JavaScriptの整数は32ビットのバイナリ形式で表現され、Math.clz 32方法は1つの数を返す32ビットの符号無し整数形式はいくつかのプリアンブル0がある.
Math.imul()
Math.imul方法は、32ビットの符号付き整数で2つの数を乗算した結果、32ビットの符号付き整数を返します.
JavaScriptは精度制限があるため、2を超える53乗の値は正確に表現できません.つまり、大きな数の乗算に対しては、下位値はしばしば不正確であり、Math.imul方法は正しい下位値を返すことができる.
Math.froound()
一つの数の単精度浮動小数形を返します.
すべてのパラメータの平方根と平方根を返します.
Math.expm 1()
は、
Math.log 1 p()
は、
Math.log 10()
10を底とするxの対数
Math.log 2()
2を底とするxの対数
三角関数の方法 を返します. に戻る. を返します. を返します. を返します.
8指数演算子
ES 6は、プレフィクス0 b(または0 B)および0 o(または0 O)でそれぞれ表す2進数および8進数の新しい書き方を提供する.
console.log(0b1001110010); //626
console.log(0o626); //406
2 Number.isfinite()、Number.isNaN()ES 5:
isFinite()
,isNaN()
ES 6:Number.isFinite()
,Number.isNaN()
貧困があるかどうかを確認し、NaNであるかを確認します.console.log(Number.isFinite(Infinity)); //false
console.log(Number.isNaN(NaN)); //true
これらの二つの新しい方法は数値だけに対して有効で,数値ではなくfalseを返します.3 Number.parseInt()、Number.parseFloat()
ES 5:
parseInt()
,parseFloat()
ES 6:Number.parseInt()
,Number.parseFloat()
新しい方法はNumberオブジェクトに移植され、行為はES 5と一致します.console.log(Number.parseInt("123.21")); //123
console.log(Number.parseFloat("321.321hr")); //321.321
4 Number.isInterger()浮動小数点と整数は同じ保存方法ですので、0は整数と解釈されます.
5 Number.EPSILON
極小の定数
console.log(Number.EPSILON); //2.220446049250313e-16
console.log(Number.EPSILON.toFixed(16)); //0.0000000000000002
let result = 0.1 + 0.2;
console.log((result - 0.3) < Number.EPSILON.toFixed(16)); //True
6安全整数とNumber.isSafe Integer()JavaScriptが正確に表現できる整数範囲は-2^53から2^53の間にあります.この範囲を超えて、この値を正確に表現することはできません.
ES 6は、
Number.MAX_SAFE_INTEGER
およびNumber.MIN_SAFE_INTEGER
の2つの定数を導入し、この範囲の上下限を表す.演算結果だけを検証しないで、演算に参加する各値を検証してください.
console.log(Number.MAX_SAFE_INTEGER); //9007199254740991
console.log(Number.isSafeInteger(Number.MAX_SAFE_INTEGER + 1)); //false
7 Mathオブジェクトの拡張Math.trunc()
Math.trunc方法は、小数点以下の部分を除いて整数部分を返します.
Math.trunc(4.1) // 4
Math.sign()Math.sign方法は、一つの数が正数か、負か、それともゼロかを判断するために使用されます.
console.log(Math.sign(321)); //1
console.log(Math.sign(-321)); //-1
console.log(Math.sign(-0)); //-0
console.log(Math.sign(0)); //0
Math.cbt()Math.cbt方法は、1つの数の立方根を計算するために使用されます.
console.log(Math.cbrt(8)); //2
Math.clz 32()JavaScriptの整数は32ビットのバイナリ形式で表現され、Math.clz 32方法は1つの数を返す32ビットの符号無し整数形式はいくつかのプリアンブル0がある.
Math.clz32(0b01000000000000000000000000000000) // 1
Math.clz32(0b00100000000000000000000000000000) // 2
注意したいのは小数点以下に対して、修正方法は整数部分だけを考慮します.Math.imul()
Math.imul方法は、32ビットの符号付き整数で2つの数を乗算した結果、32ビットの符号付き整数を返します.
JavaScriptは精度制限があるため、2を超える53乗の値は正確に表現できません.つまり、大きな数の乗算に対しては、下位値はしばしば不正確であり、Math.imul方法は正しい下位値を返すことができる.
Math.froound()
一つの数の単精度浮動小数形を返します.
Math.fround(1); // 1
Math.fround(1.337); // 1.3370000123977661
Math.fround(1.5); // 1.5
Math.fround(NaN); // NaN
Math.hypot()すべてのパラメータの平方根と平方根を返します.
Math.hypot(3, 4, 5); // 7.0710678118654755
Math.hypot(); // 0
Math.hypot(NaN); // NaN
Math.hypot(3, 4, 'foo'); // NaN
対数法Math.expm 1()
は、
Math.exp(x) - 1
を返しますMath.log 1 p()
は、
Math.log(1 + x)
を返しますMath.log 10()
10を底とするxの対数
Math.log 2()
2を底とするxの対数
三角関数の方法
Math.sinh(x)
はxの双曲線サインを返します.Math.cosh(x)
はxの双曲線コサインMath.tanh(x)
は、xの双曲線タンジェントMath.asinh(x)
は、xの逆双曲線正弦波(inverse hyperbolic sine)Math.acosh(x)
は、xの逆双曲線コサインMath.atanh(x)
はxの逆双曲線タンジェント8指数演算子
**
ES 7に追加された指数演算子**
2 ** 2 //4
2 ** 3 //8