@newdash/newdash
Version:
javascript/typescript utility library
42 lines (41 loc) • 1.19 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.isNumber = void 0;
const getTag_1 = __importDefault(require("./.internal/getTag"));
const isObjectLike_1 = __importDefault(require("./isObjectLike"));
/**
* Checks if `value` is classified as a `Number` primitive or object.
*
* **Note:** To exclude `Infinity`, `-Infinity`, and `NaN`, which are
* classified as numbers, use the `Number.isFinite` method.
*
* @since 5.6.0
* @category Lang
* @param value The value to check.
* @returns Returns `true` if `value` is a number, else `false`.
* @see [[isInteger]], [[toInteger]], [[[[toNumber]]]]
* @example
*
* ```js
* isNumber(3)
* // => true
*
* isNumber(Number.MIN_VALUE)
* // => true
*
* isNumber(Infinity)
* // => true
*
* isNumber('3')
* // => false
* ```
*/
function isNumber(value) {
return typeof value === "number" ||
((0, isObjectLike_1.default)(value) && (0, getTag_1.default)(value) == "[object Number]");
}
exports.isNumber = isNumber;
exports.default = isNumber;