| 'use strict'; | |
| var GetIntrinsic = require('../GetIntrinsic'); | |
| var $Math = GetIntrinsic('%Math%'); | |
| var $floor = $Math.floor; | |
| var $abs = $Math.abs; | |
| var $isNaN = require('../helpers/isNaN'); | |
| var $isFinite = require('../helpers/isFinite'); | |
| // https://www.ecma-international.org/ecma-262/6.0/#sec-isinteger | |
| module.exports = function IsInteger(argument) { | |
| if (typeof argument !== 'number' || $isNaN(argument) || !$isFinite(argument)) { | |
| return false; | |
| } | |
| var abs = $abs(argument); | |
| return $floor(abs) === abs; | |
| }; |