ES6数字变化和Math新增的东西
2019-10-06 本文已影响0人
Aniugel
数字(数值)变化:
二进制: (Binary)
let a = 0b010101;
八进制: (Octal)
let a = 0o666;
十六进制:
#ccc
-------------------------------------------
Number()、parseInt()、 parseFloat()
-------------------------------------------
Number.isNaN(NaN) -> true
Number.isFinite(a) 判断是不是数字 √
Number.isInteger(a) 判断数字是不是整数 √
-------------------------------------------
Number.parseInt();
Number.parseFloat();
-------------------------------------------
安全整数:
2**3
安全整数: -(2^53-1) 到 (2^53-1), 包含-(2^53-1) 和(2^53-1)
Number.isSafeInteger(a);
Number.MAX_SAFE_INTEGER 最大安全整数
Number.MIN_SAFE_INTEGER 最小安全整数
--------------------------------------------------------------------------------------
Math:
Math.abs()
Math.sqrt()
Math.sin()
Math.trunc() 截取,只保留整数部分
Math.trunc(4.5) -> 4
Math.trunc(4.9) -> 4
Math.sign(-5) 判断一个数到底是正数、负数、0
Math.sign(-5) -> -1
Math.sign(5) -> 1
Math.sign(0) -> 0
Math.sign(-0) -> -0
其他值,返回 NaN
Math.cbrt() 计算一个数立方根
Math.cbrt(27) -> 3
.......
-------------------------------------------------------
Math方法
// 二进制: (Binary)
let z = 0b010101;
console.log(z)//21
// 八进制: (Octal)
let f = 0o666;
console.log(f)//438
// 十六进制
console.log(0xa)//10
console.log(0xA)//10
let a = 12;
let b = 'welcome';
console.log(isNaN(NaN))//true
console.log(Number.isNaN(NaN))//true
// isFinite()判断是不是数字
console.log(Number.isFinite(b))//false
console.log(Number.isFinite(0))//true
console.log(Number.isFinite(-12))//true
console.log(Number.isFinite(-0))//true
console.log(Number.isFinite(12.5))//true
console.log(Number.isFinite(true))//false
// isInteger()判断是不是1整数
console.log(Number.isInteger(-1))//true
console.log(Number.isInteger(-1.1))//false
console.log(Number.isInteger(1))//true
// 安全整数:isSafeInteger() -(2^53-1) 到 (2^53-1), 包含-(2^53-1) 和(2^53-1)
let c = 2 ** 53 - 1;
let d = -(2 ** 53 - 1);
console.log(Number.isSafeInteger(c))//true
console.log(Number.isSafeInteger(c + 1))//false
console.log(Number.isSafeInteger(d))//true
console.log(c)//9007199254740991
console.log(Number.MAX_SAFE_INTEGER)//9007199254740991 最小一样
console.log(Number.MAX_SAFE_INTEGER === c)//true
// Math.trunc() 截取,只保留整数部分
console.log(Math.trunc(4.1))//4
console.log(Math.trunc(-4.1))//-4
// Math.abs()//绝对值
console.log(Math.abs(-1))//1
// Math.sqrt()平方根
console.log(Math.sqrt(4))//2
// Math.cbrt()立方根
console.log(Math.cbrt(27))//3
// Math.sin()
console.log(Math.sin(0))//-4
// Math.sign()判断一个数是正数(1) 负数(-1) 0(-0)
console.log(Math.sign(0))//0
console.log(Math.sign(-0))//-0
console.log(Math.sign(+0))//0
console.log(Math.sign(-8))//-1
console.log(Math.sign(8))//1
console.log(Math.sign('abcs'))//NaN
console.log(3 ** 3)//27