數值的擴充套件

2021-08-01 12:41:23 字數 1610 閱讀 9292

es6在內建的math和number的內建物件上做出了很多新的擴充套件,常用總結:

1. number.isfinite()和number.isnan();

number.isfinite()方法:判斷數值是否有限;如果有限返回ture,否則返回false。當傳入引數不是數值時,返回false

number.isnan()方法:判斷傳入的數值是否為nan,如果是返回ture,否則返回false

number.isfinite(5)  //ture

number.isfinite(ture) //false

number.isfinite("15") //false

number.isnan(nan) //ture

number.isnan(5) //false

2.number.parseint(), number.parsefloat()

es6中全域性性方法parseint()和parsefloat(),移到number物件上,減少全域性性方法,語言更趨向於模組化

parseint('12.34') // 12

parsefloat('12.34#')

number.parseint('12.34') // 12

number.parsefloat('12.34#')

3.number.isinteger()

number.isinteger()判斷乙個值是否為整數。注意:2和2.0相同

number.isinteger(3) //ture

number.isinteger(3.0) //ture

4.math.trunc()

math.trunc()去除乙個數的小數部分,返回整數部分.如果傳入的是非數值,這先number轉換為數值,如果無法轉換為數值,則返回nan

math.trunc(4.0) //4

math.trunc(-4.0) //-4

math.trunc(2) // 4

math.trunc(-0.12) //2

5.math.sign()

math.sign()判斷乙個數是正數,負數,還是零

引數為正數,返回+1;

引數為負數,返回-1;

引數為0,返回0;

引數為-0,返回-0;

其他值,返回nan

math.sign(-5) // -1

math.sign(5) // +1

math.sign(0) // +0

math.sign(-0) // -0

math.sign(nan) // nan

math.sign('foo'); // nan

math.sign(); // nan

6.指數運算子(**)

let a = 1.5

;a **= 2

;// 等同於 a = a * a

;let b = 4

;b **= 3

;// 等同於 b = b * b * b;

數值的擴充套件

es6提供了許多新的數值的擴充套件 二進位制使用字首0b或0b,八進位制使用字首0o或0o ex 0b111110111 503 true 0o767 503 true 如果要將0b和0o字首的字串數值轉為十進位制,要使用number方法。ex number 0b111 7 number 0o10 ...

十四 數值的擴充套件

1.number.isfinite 檢測乙個數值是否為有限數 console.log number.isfinite 100 true console.log number.isfinite 100 0 false console.log number.isfinite infinity false...

es6 數值的擴充套件

1 二進位制的表示 字首 0b 八進位制的表示 0o 2 number.isfinite number.isnan 3 number.parseint number.parsefloat 4 number.isinteger number.epsilon 5 number.issafeinteger...