ECMAScript 2018 是 JavaScript 的最新标准,其中包含了一些有用的新特性,对于前端开发人员尤其重要。本文将重点介绍 ECMAScript 2018 中的 Number 类型与 Math 对象,它们的作用和用法,以及如何使用它们来方便地开发前端应用。
Number 类型
在 JavaScript 中,Number 类型表示数字。Number 类型支持整数、浮点数和指数表示法等多种形式。ECMAScript 2018 中,Number 类型新增了一些方法,让开发人员更方便地进行数字操作。
Number.isFinite()
Number.isFinite() 方法用于判断一个值是否为有限数值。如果是有限数值,则返回 true,否则返回 false。与全局的 isFinite() 方法不同,Number.isFinite() 方法不会将非数字转换为数字。
console.log(Number.isFinite(10)); // true console.log(Number.isFinite(-Infinity)); // false console.log(Number.isFinite('abc')); // false
Number.isInteger()
Number.isInteger() 方法用于判断一个值是否为整数。如果是整数,则返回 true,否则返回 false。需要注意的是,由于 JavaScript 中所有数字均为浮点数,因此实际上判断的是是否为一个常规浮点数的整数部分。
console.log(Number.isInteger(10)); // true console.log(Number.isInteger(10.0)); // true console.log(Number.isInteger(10.1)); // false
Number.isNaN()
Number.isNaN() 方法用于判断一个值是否为 NaN。如果是 NaN,则返回 true,否则返回 false。需要注意的是,与全局的 isNaN() 方法不同,Number.isNaN() 方法只能识别NaN,而不能将非数字类型转换为 NaN。
console.log(Number.isNaN(NaN)); // true console.log(Number.isNaN('abc')); // false
Number.parseFloat()
Number.parseFloat() 方法用于将字符串转换为浮点数。如果转换失败,则返回 NaN。
console.log(Number.parseFloat('10')); // 10 console.log(Number.parseFloat('10.1')); // 10.1 console.log(Number.parseFloat('abc')); // NaN
Number.parseInt()
Number.parseInt() 方法用于将字符串转换为整数。如果转换失败,则返回 NaN。
console.log(Number.parseInt('10')); // 10 console.log(Number.parseInt('10.1')); // 10 console.log(Number.parseInt('abc')); // NaN
Math 对象
Math 对象是 JavaScript 中一个内置的对象,用于进行数学计算。ECMAScript 2018 中,Math 对象新增了一些方法,可以帮助开发人员更方便地进行数学计算。
Math.clamp()
Math.clamp() 方法用于将一个数限制在一个范围内。如果数值小于范围的最小值,则返回最小值;如果数值大于范围的最大值,则返回最大值;否则返回原数值。
console.log(Math.clamp(10, 0, 100)); // 10 console.log(Math.clamp(-10, 0, 100)); // 0 console.log(Math.clamp(110, 0, 100)); // 100
Math.fscale()
Math.fscale() 方法用于将一个数根据指定的指数缩放。将原数值乘以2的n次方。
console.log(Math.fscale(10, 2)); // 40 console.log(Math.fscale(10, -2)); // 0.25
Math.radians()
Math.radians() 方法用于将角度转换为弧度。需要注意的是,该方法会将角度除以180后再乘以π。
console.log(Math.radians(180)); // 3.141592653589793 console.log(Math.radians(90)); // 1.5707963267948966
Math.scale()
Math.scale() 方法用于将一个数缩放到指定的范围内。将原数值根据指定的范围和目标范围进行映射计算。
console.log(Math.scale(50, 0, 100, 0, 10)); // 5 console.log(Math.scale(25, 0, 100, 0, 10)); // 2.5 console.log(Math.scale(75, 0, 100, 0, 10)); // 7.5
总结
ECMAScript 2018 中的 Number 类型和 Math 对象为 JavaScript 开发人员带来了很多便利。我们可以使用 Number 类型中新增的方法来方便地进行数字操作,使用 Math 对象中新增的方法进行更加复杂的数学计算。以上只是其中一部分方法,我们可以根据实际需求选择合适的方法来使用。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/64e9a3eef6b2d6eab34db200