ES6学习(三)

325 阅读3分钟

数值的扩展

Number.isFinite()、Number.isNaN()

Number.isFinite()用来检验一个数值是否为有限的反回的值为true或者false
Number.isNaN() 用来校验是否为NaN 同样返回的值为true或者false

Number.parseInt()、Number.parseFloat()

ES6写法 Number.parseInt()取整数  ES5写法 parseInt()
ES6写法 Number.parseFloat()取得是float的值 ES5写法 parseFloat()

Number.isInteger()

Number.isFinite() 用来判断一个值是否为整数。

Number.EPSILON

这个是ES6在Number对象上面新增一个极小的常量。

安全整数和Number.isSafeInteger()

ES6引入了Number.MAX_SAFE_INTEGER 和Number.MIN_SAFE_INTEGER两个常量表示整数 范围在-2的53次方到2的53次方之间。

Math对象扩展

ES6在Math对象伤新增了17个与数学相关的方法。这些方法都是静态方法,只能在Math对象上调用

Math.trunc()

Math.trunc() 方法用于去除一个数的小数部分,返回整数部分。

Math.trunc('12.13') //12

Math.sign()

Math.sign() 方法用来判断一个数到底是正数、负数,还是零。对于非数值,会先将其转换为数值。

  • 参数为正数,返回+1
  • 参数为负数,返回-1
  • 参数为零,返回0
  • 参数为-0,返回-0
  • 其他值,返回NaN
	Math.sign(-5)  //  -1
	Math.sign(5)  //  +l
	Math.sign(O)  //  +O
	Math.sign(-0)  //  -0
	Math . sign(NaN)  //NaN

Math.cbrt() 方法用于就按一个数的立方根

Math.clz32() 方法只考虑整数部分 。对于空值或者其它类型的值,Math,clz32方法会将他们先转为数值

Math.imul() 方法返回两个数以32位带符号正数形式相乘的结果,返回的也是一个32位带符号整数、

Math.fround() 方法返回一个数的单精度浮点数形式。

Math.hypot() 方法返回所有参数的平分和的平方根

对数方法 (对数这个概念可能是学过但是也忘记了就很懵)

Math.expm1() Math.expml(x)返回ex寸,即Math.exp(x)-l

Math.log1p() Math.log1p(x)方法返回ln(1+x),即Math.log(1+x) 如果x小于 -1,返回的是NAN

Math.log10() Math.log10()返回以10 为底的x的对数。如果x小于0,则返回NaN

Math.log2() Math.log2() 返回以2为底的x的对数。如果x小于0则返回的是NaN

(找到了对数的定义:对数公式是数学中的一种常见公式,如果a^x=N(a>0,且a≠1),则x叫做以a为底N的对数,
记做x=log(a)(N),其中a要写于log右下。其中a叫做对数的底,N叫做真数。通常我们将以10为底的对数叫做常
用对数,以e为底的对数称为自然对数。)

双曲函数方法

  • Math.sinh(x) 返回x的双曲正弦
  • Math.cosh(x) 返回x的双曲余弦
  • Math.tanh(x) 返回x的反双曲正弦
  • Math.asinh(x) 返回dx的反双曲正弦
  • Math.acosh(x) 返回x的反双曲余弦
  • Math.atanh(x) 返回x的双曲正切

Math.signbit()

Math.sign()用来判断一个值得正负但是这个数如果是-0它返回的也是-0
Math.signbit()判断就是返回的true或者false 当为-(负)的时候返回的为true-0也会返回true
该方法的算法如下
  • 如果参数是NaN,返回false
  • 如果参数是 -0,返回true
  • 如果参数是负值,返回true

指数运算

ES6新增的指数运算符(**)

	2 ** 2 // 4
	let a = 2
	a **=2 // 等同于 a = a * a
	let b = 2
	b ** =3 // 等同于 b= b*b*b

Integer数据类型

和java的类似都是整数类型用来表示整数,但是没有位数的限制,对于任何整数都可以精确表示。
Integer类型为了与Number类型区别,Integer类型的数据必须使用后缀n来表示
typeof后的返回值也会是Integer
Integer类型的 + - * / 这几个运算与Number类型的行为一致。(除法算法会舍去小数的部分返回小数前面的整数)
但是Integer类型不能和Number类型混合运算