跳至正文

ES6入门教程笔记(5)-数值的扩展

Number.parseInt(), Number.parseFloat()

ES6将全局方法parseInt()和parseFloat(),移植到Number对象上面,用法保持不变。

// ES5的写法
parseInt('12.34') // 12
parseFloat('123.45#') // 123.45

// ES6的写法
Number.parseInt('12.34') // 12
Number.parseFloat('123.45#') // 123.45

ES6这样做的目的,是逐步减少全局性方法,使语言模块化。

Number.isInteger()

ES6中,Number.isInteger()用来判断一个数值是否为整数。

Number.isInteger(25) // true
Number.isInteger(25.0) // true
Number.isInteger(25.1) // false

上面代码中,因为JavaScript的整数和浮点数采用同样的储存方法,所以25和25.0被视为同一个值。

Math.trunc()

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

Math.trunc(0.1) // 0
Math.trunc(2.1) // 2
Math.trunc(2.9) // 2 
Math.trunc(-2.9) // -2

如果环境中没有这个方法,可用下面代码模拟。

Math.trunc = Math.trunc || function(x) {
    return x < 0 ? Math.ceil(x) : Math.floor(x);
}

注:本文原始内容来自 ES6标准入门,有修改。

标签:

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注