ECMAScript 6の新特性——「数値の拡張」

3508 ワード

1バイナリと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