ES6 - 数值的扩展

0 阅读2分钟

数值的扩展

前言

  • 关于 ES6 的新增内容,第一:知道有什么,第二:知道怎么写
  • 本文主要作用在于第一点,知道有什么。达到,在工作中遇到时,能够联想到 ES6,所以仅展示常用内容及简单示例。若所有内容都展示,相当于复制一份文档,没有任何意义。
  • 如果需要详细内容,文档链接 : es6.ruanyifeng.com/

二进制表示法、八进制表示法

// 二进制, 0b || 0B 作为开头
const num = 0b11
console.log(num) // 3

// 八进制,0o || 0O 作为开头
const num = 0o11
console.log(num) // 9

数值分隔符

// 类似 1,000,000 的效果,便于区分位数。
const num = 1_000_000
console.log(num) // 1000000

Number 对象的扩展

Number.isNaN、Number.isFinite

// 是否是 NaN
console.log(Number.isNaN(NaN)) // true

// ES6 前的 isNaN 出错的情况
console.log(isNaN('naa')) // true
// 现已修正
console.log(Number.isNaN('naa')) // false

// 是否是有限的
Number.isFinite(15) // true
Number.isFinite(Infinity) // false

Number.parseInt、Number.parseFloat

// parseInt:将字符串解析为一个整数数字
Number.parseInt(' 11.22sadf') // 11(数字)

// parseFloat: 将字符串解析为一个浮点数数字
Number.parseFloat(' 11.22sadf') // 11.22(数字)

// 共同点:
// 1. 忽略开头、结尾的空格
// 2. 第一个非空字符必须能解析为数字,否则返回NaN
// 3. 分别与原生的parseInt与parseFloat方法完全一致,放在Number对象下,是为了减少全局方法,使语言模块化

Number.isInteger

// 是否为整数
Number.isInteger(11) // true
Number.isInteger(11.0) // true
Number.isInteger(11.1) // false

Number.EPSILON、安全整数和 Number.isSafeInteger()

文档链接:es6.ruanyifeng.com/#docs/numbe…

Math 对象的扩展

Math.trunc

// 返回整数
Math.trunc(11.1) // 11
// 1. 可以是字符串
// 2. 前后可以有空格
// 3. 字符串必须能完全转为数字,'11.1a'不行

Math.sign()

// 判断 正、负、零
Math.sign(-5) // -1
Math.sign(5) // +1
Math.sign(0) // +0
Math.sign(-0) // -0

Math.cbrt

// 立方根
console.log(Math.cbrt(8)) // 2 (2 * 2 * 2 = 8)

其他关于平方、32 位数、16 位数、对数、双曲函数、BigInt 函数等

es6.ruanyifeng.com/#docs/numbe…