ES6學習筆記五|數(shù)值的擴展

1. 二進制和八進制表示法

ES6提供了二進制和八進制的新寫法,分別用前綴0b(或0B)和0o(或0o)表示。

  • 將0b和0o前綴的字符串數(shù)值轉為十進制,要使用Number方法。
Number('0b111');  //7

2. Number.isFinite(),Number.isNaN()

  • Number.isFinite()用來檢查一個數(shù)值是否為有限的(finite)
  • Number.isNaN()用來檢查一個值是否為NaN

注意:兩個方法與傳統(tǒng)的isFinite()和isNaN()方法區(qū)別在于,傳統(tǒng)方法先調用Number()將非數(shù)值的值轉為數(shù)值,再判斷。這兩個方法只對數(shù)值有效,非數(shù)值一律返回false。

3. Number.parseInt(),Number.parseFloat()

與傳統(tǒng)方法行為完全保持不變。目的在于,逐步減少全局性方法,使得語言逐步模塊化。

4. Number.isInteger()

判斷一個值是否為整數(shù)。

注意:JavaScript內部,整數(shù)和浮點數(shù)儲存方法相同,所以3和3.0被視為同一個值。

5. Number.EPSILON

ES6中新增的一個極小的常量。

Number.EPSILON = 2.220446049250313e-16;
  • 目的在于,設置誤差范圍。當誤差小于該值,則認為得到正確結果。

6. 安全整數(shù)和Number.isSafeInteger()

JavaScript能夠準確表示的整數(shù)范圍在-2^53
到2^53之間(不含兩個端點),超過這個范圍,無法精確表示這個值。

  • ES6引入了Number.MAX_SAFE_INTEGER
    和Number.MIN_SAFE_INTEGER這兩個常量,用來表示這個范圍的上下限
  • Number.isSafeInteger()則是用來判斷一個整數(shù)是否落在這個范圍之內。

7. Math對象的擴展

  • Math.trunc()

  • 該方法用于去除一個數(shù)的小數(shù)部分,返回整數(shù)部分。

  • 對于非數(shù)值,先轉成數(shù)值。

  • 對于空置和無法截取整數(shù)的值,返回NaN.

  • Math.sign()

  • 該方法用于判斷一個數(shù)是正數(shù)、負數(shù)還是0.

    • 正數(shù),返回+1
    • 負數(shù),返回-1
    • 0,返回0
    • -0,返回-0
    • 其他值,返回NaN
  • Math.cbrt()

  • 該方法用于計算一個數(shù)的立方根。

  • 對于非數(shù)值,先轉為數(shù)值再計算。

  • Math.clz32()

  • 該方法返回一個數(shù)的32位無符號整數(shù)形式有多少個前導0.

  • 對于小數(shù),只考慮整數(shù)部分。

  • 對于空置或者其他類型的值,先轉為數(shù)值,再計算。

  • Math.fround()

  • 返回一個數(shù)的單精度浮點數(shù)形式

  • Math.hypot()

  • 該方法返回所有參數(shù)的平方和的平方根

  • 參數(shù)不是數(shù)值,先轉為數(shù)值,有一個無法轉為數(shù)值,就返回NaN

  • 對數(shù)方法

  • Math.expm1()

    • 返回e的x次方 - 1,即Math.exp(x) - 1
  • Math.log1p()

    • 返回1+x的自然對數(shù)。即Math.log(1 + x)。如果x小于-1,返回NaN
  • Math.log10()

    • 返回以10為底的x的對數(shù),如果x<10,則返回NaN.
  • Math.log2()

    • 返回以2為底的x的對數(shù)。x<0,則返回NaN.
  • 三角函數(shù)方法

  • Math.sinh(x)返回x的雙曲正弦(hyperbolic sine)

  • Math.cosh(x)返回x的雙曲余弦(hyperbolic cosine)

  • Math.tanh(x)返回x的雙曲正切(hyperbolic tangent)

  • Math.asinh(x)返回x的反雙曲正弦(inverse hyperbolic sine)

  • Math.acosh(x)返回x的反雙曲余弦(inverse hyperbolic cosine)

  • Math.atanh(x)返回x的反雙曲正切(inverse hyperbolic tangent)

8. 指數(shù)運算符

  • 指數(shù)運算符**
2 ** 2   //4
2 ** 3   //8
  • 與等號結合,**=
let a = 2
a **= 2   //a = 4
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容