es6提供了許多新的數值的擴充套件
二進位制使用字首0b或0b,八進位制使用字首0o或0o
ex:
0b111110111 === 503 // true0o767 === 503 // true
如果要將0b
和0o
字首的字串數值轉為十進位制,要使用number
方法。
ex:
number('0b111') // 7number('0o10') // 8
1.number.isfinite()
用來檢查乙個數值是否為有限的(finite),對於非數值一律返回false。
2.number.isnan()
用來檢查乙個值是否為nan
。number.isnan()
只有對於nan
才返回true
,非nan
一律返回false。
以上兩個方法與傳統的全域性方法isfinite()
和isnan()
的區別在於,傳統全域性方法先呼叫number()
將非數值的值轉為數值,再進行判斷,而以上兩個新方法只對數值有效。
isfinite(25) // trueisfinite("25") // true
number.isfinite(25) // true
number.isfinite("25") // false
isnan(nan) // true
isnan("nan") // true
number.isnan(nan) // true
number.isnan("nan") // false
number.isnan(1) // false
3.es6 將全域性方法parseint()
和parsefloat()
,移植到number
物件上面,number.parseint(),number.parsefloat()行為完全保持不變。這樣做的目的,是逐步減少全域性性方法,使得語言逐步模組化.
// es5的寫法parseint('12.34') // 12
parsefloat('123.45#') // 123.45
// es6的寫法
number.parseint('12.34') // 12
number.parsefloat('123.45#') // 123.45
number.parseint === parseint // true
number.parsefloat === parsefloat // true
4.number.isinteger()
用來判斷乙個值是否為整數。但是注意15和15.0被視為同乙個值。
number.isinteger(25) // truenumber.isinteger(25.0) // true
number.isinteger(25.1) // false
number.isinteger("15") // false
number.isinteger(true) // false
1.math.trunc()
math.trunc方法用於去除乙個數的小數部分,返回整數部分。對於非數值,先用number()方法轉化為數值,對於空值和無法擷取整數的值,返回nan
ex:
math.trunc(4.1) //4math.trunc(-4.1) //-4
math.trunc('3.1415') //3
math.trunc(nan) //nan
math.trunc('foo') //nan
math.trunc() //nan
2.math.sign()
math.sign()方法判斷乙個數是正數,負數,還是0.非數值先轉換為數值
math.sign(-5) // -1math.sign(5) // +1
math.sign(0) // +0
math.sign(-0) // -0
math.sign(nan) // nan
math.sign('9'); // +1
math.sign('foo'); // nan
math.sign(); // nan
3.math.cbrt()
該方法用於計算乙個數的立方根。同樣,非數值先轉換為數值。
1.阮一峰《es6入門》
數值的擴充套件
es6在內建的math和number的內建物件上做出了很多新的擴充套件,常用總結 1.number.isfinite 和number.isnan number.isfinite 方法 判斷數值是否有限 如果有限返回ture,否則返回false。當傳入引數不是數值時,返回false number.is...
十四 數值的擴充套件
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...