數(shù)值Number類型
進(jìn)制前綴的改變
在ES6規(guī)范中8進(jìn)制與2進(jìn)制統(tǒng)一用0b
和0B
來(lái)標(biāo)識(shí)二進(jìn)制,0o
和0O
來(lái)展示八進(jìn)制
新的類方法
isFinite():
isFinite()
檢測(cè)一個(gè)數(shù)值是否有限,意思就是是否是非窮大。
Number.isFinite(99) // true
Number.isFinite(0.3) // true
Number.isFinite(‘99’) // false
Number.isFinite(true) // false
Number.isFinite(NaN) // false
isNaN():
isNaN()
檢測(cè)一個(gè)數(shù)值是否是NaN。
Number.isNaN(99) // false
Number.isNaN(0.3) // false
Number.isNaN(‘99’) // false
Number.isNaN(true) // false
Number.isNaN(NaN) // true
parseInt():
parseInt()
和ES5的全局方法一樣可以將字符串轉(zhuǎn)化為整數(shù)。
var str = "12.333";
console.log(Number.parseInt(str)); // 12
parseFloat():
parseFloat()
和ES5的全局方法一樣可以將字符串轉(zhuǎn)化為小數(shù)。
var str = "12.333";
console.log(Number.parseFloat(str)); // 12.333
isInteger()
isInteger()
判斷是否是一個(gè)整數(shù),.0也算整數(shù)。
console.log(Number.isInteger(12.0)); // true
Number.EPSILON:
Number.EPSILON
極小的常量一般來(lái)用來(lái)計(jì)算誤差,因?yàn)樵谛?shù)計(jì)算中往往會(huì)出現(xiàn)錯(cuò)誤。
5.2/3.7 < Number.EPSILON
Number.MAX_SAFE_INTEGER:
Number.MAX_SAFE_INTEGER
JS能夠最大表示的數(shù)字值
Number.MIN_SAFE_INTEGER
Number.MIN_SAFE_INTEGER
JS能夠最小表示的數(shù)字值
Number.isSafeInteger():
isSafeInteger()
判斷是否是一個(gè)在JS范圍中的數(shù)字即不大于MAX_SAFE_INTEGER
不小于MIN_SAFE_INTEGER
Math類型
Math類方法擴(kuò)展
trunc(number):
trunc(number)
先轉(zhuǎn)化為數(shù)字在轉(zhuǎn)化為整數(shù)。
console.log(Math.trunc(4.33)); // 4
console.log(Math.trunc("14.33")); // 14
sign(number):
sign(number)
根據(jù)傳入的數(shù)字 得出 +0 -0 +1 -1 NaN 返回值,判斷數(shù)值。
console.log(Math.sign(-0)); // -0
cbrt(number):
cbrt(number)
傳入數(shù)字計(jì)算出這個(gè)數(shù)字的立方根
console.log(Math.cbrt(27));
clz32(number)
clz32(number)
返回一個(gè)數(shù)的32位無(wú)符號(hào)整數(shù)形式有多少個(gè)前導(dǎo)0。
console.log(Math.clz32(0));
imul(number)
imul(number,number)
返回兩個(gè)數(shù)以32位帶符號(hào)整數(shù)形式相乘的結(jié)果,返回的也是一個(gè)32位的帶符號(hào)整數(shù)。
console.log(Math.clz32(0));
fround(number)
fround(number)
返回一個(gè)數(shù)的單精度浮點(diǎn)數(shù)形式。
console.log(Math.fround(2.2)); // 2.200000047683716
hypot(number)
hypot(number,...)
返回所有參數(shù)的平方和的平方根。
console.log(Math.hypot(9,9)); // 12.727922061357857
expm1(number)
expm1(number)
返回Math.exp(x) - 1
console.log(Math.expm1(9)); // 8102.083927575384
log1p(number)
log1p(number)
返回Math.log(1 + number),number 不能為-1。
console.log(Math.log1p(9)); // 2.302585092994046
log2(number)
log2(number)
2為底數(shù)
console.log(Math.log2(9));
log10(number)
log10(number)
10為底數(shù)
console.log(Math.log10(9));
sinh(number)
sinh(number)
求number的雙曲正弦。
console.log(Math.sinh(3)); // 10.017874927409903
cosh(number)
cosh(number)
求number的雙曲余弦。
console.log(Math.cosh(4)); // 27.308232836016487
tanh(number)
tanh(number)
求number的雙曲余弦。
console.log(Math.tanh(4)); // 0.999329299739067
asinh(number)
asinh(number)
求number的反雙曲正弦。
console.log(Math.asinh(4)); // 2.0947125472611012
acosh(number)
acosh(number)
求number的反雙曲余弦。
console.log(Math.acosh(4)); // 2.0634370688955608
atanh(number)
atanh(number)
求number的反雙曲正切。
console.log(Math.acosh(0)); // 0
運(yùn)算符
in運(yùn)算符
key in obj
判斷左邊的屬性或者方法,是否為右邊的對(duì)象所有返回一個(gè)布爾值
delete操作符
delete car.name
刪除car
實(shí)例的name屬性.
擴(kuò)展運(yùn)算符...
...
將一個(gè)數(shù)組擴(kuò)展為,
分割的數(shù)據(jù)
ES7 新增指數(shù)運(yùn)算符
var a = 4;
a**= 5 // 實(shí)際就安值為 a的5次方