ES6中Number的扩展
-
在Number上添加isFinite()用来判断一个数值是否是有限的
console.log(Number.isFinite(-1)); console.log(Number.isFinite(1)); console.log(Number.isFinite(NaN)); console.log(Number.isFinite(-Infinity)); console.log(Number.isFinite(Infinity)); // ES5中部署Number.isFinite()的方法 (function(global) { var global_isFinate = global.isFinite; Object.defineProperty(Number, 'isFinite', { value: function isFinate(value) { return typeof value === "number" && global_isFinate(value); }, writable: true, enumerable: false, configurable: true }) })(this);
-
在Number中添加isNaN()方法用来判断一个值是否不是数值
console.log(Number.isNaN(1));
console.log(Number.isNaN(‘HDH’));// ES5中部署isNaN()的方法 (function(global) { var global_isNaN = global.isNaN; Object.defineProperty(Number, 'isNaN', { value: function isNaN(value) { return typeof value === "number" && global_isNaN(value); }, configurable: true, writable: true, enumerable: false }) })(this);
-
在Number中添加isInteger()用来判断一个值是否为整数
console.log(Number.isInterger(22));
console.log(Number.isInteger(‘22’));// ES5中部署isInteger()的方法 (function(global) { var global_isInteger = global.isInteger; Object.defineProperty(Number, 'isInteger', { value: function isInteger(value) { return typeof value === "number" && Number.isFinate(value) && global_isInteger(value); }, configurable: true, enumerable: false, writable: true }) })(this);
-
在Number上添加isSafeInteger()用来判断一个数是否是安全整数
console.log(Number.isSafeInteger(Math.pow(2, 54)));
console.log(Number.isSafeInteger(3));// 在ES5上部署isSafeInteger用来判断一个值是否是安全整数(在js中整数范围为-2^53到2^53之间,ES10中用BigInt来定义超过这个范围的数) Number.isSafeInteger = function(value) { return (typeof value === "number" && Math.round(value) === value && NUMBER_MIN_SAFE_INTEGER <= value && NUMBER_MAX_SAFE_INTEGER >= value); }
-
在Number上添加parseInt()将值转换为整数
console.log(Number.parseInt(122.44)); -
在Number上添加parseFloat()将值装换为浮点数
console.log(Number.parseFloat(33)); -
在Number上添加了一个极小的常量EPSILON,用来设定误差范围
console.log(Number.EPSILON);