数值Number类型
进制前缀的改变
在ES6规范中8进制与2进制统一用0b
和0B
来标识二进制,0o
和0O
来展示八进制
新的类方法
isFinite():
isFinite()
检测一个数值是否有限,意思就是是否是非穷大。
Number.isFinite(99) // true
Number.isFinite(0.3) // true
Number.isFinite(‘99’) // false
Number.isFinite(true) // false
Number.isFinite(NaN) // false
isNaN():
isNaN()
检测一个数值是否是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的全局方法一样可以将字符串转化为整数。
var str = "12.333";
console.log(Number.parseInt(str)); // 12
parseFloat():
parseFloat()
和ES5的全局方法一样可以将字符串转化为小数。
var str = "12.333";
console.log(Number.parseFloat(str)); // 12.333
isInteger()
isInteger()
判断是否是一个整数,.0也算整数。
console.log(Number.isInteger(12.0)); // true
Number.EPSILON:
Number.EPSILON
极小的常量一般来用来计算误差,因为在小数计算中往往会出现错误。
5.2/3.7 < Number.EPSILON
Number.MAX_SAFE_INTEGER:
Number.MAX_SAFE_INTEGER
JS能够最大表示的数字值
Number.MIN_SAFE_INTEGER
Number.MIN_SAFE_INTEGER
JS能够最小表示的数字值
Number.isSafeInteger():
isSafeInteger()
判断是否是一个在JS范围中的数字即不大于MAX_SAFE_INTEGER
不小于MIN_SAFE_INTEGER
Math类型
Math类方法扩展
trunc(number):
trunc(number)
先转化为数字在转化为整数。
console.log(Math.trunc(4.33)); // 4
console.log(Math.trunc("14.33")); // 14
sign(number):
sign(number)
根据传入的数字 得出 +0 -0 +1 -1 NaN 返回值,判断数值。
console.log(Math.sign(-0)); // -0
cbrt(number):
cbrt(number)
传入数字计算出这个数字的立方根
console.log(Math.cbrt(27));
clz32(number)
clz32(number)
返回一个数的32位无符号整数形式有多少个前导0。
console.log(Math.clz32(0));
imul(number)
imul(number,number)
返回两个数以32位带符号整数形式相乘的结果,返回的也是一个32位的带符号整数。
console.log(Math.clz32(0));
fround(number)
fround(number)
返回一个数的单精度浮点数形式。
console.log(Math.fround(2.2)); // 2.200000047683716
hypot(number)
hypot(number,...)
返回所有参数的平方和的平方根。
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为底数
console.log(Math.log2(9));
log10(number)
log10(number)
10为底数
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
运算符
in运算符
key in obj
判断左边的属性或者方法,是否为右边的对象所有返回一个布尔值
delete操作符
delete car.name
删除car
实例的name属性.
扩展运算符...
...
将一个数组扩展为,
分割的数据
ES7 新增指数运算符
var a = 4;
a**= 5 // 实际就安值为 a的5次方