_.isNumber(value)

150

_.isNumber(value)

_.isNumber判断一个值是否被归类为原生Number或者Number对象

参数

value (*): 需要检查的值

返回值

(boolean): 如果是Number返回true,否则false

例子

_.isNumber(3);
// => true
 
_.isNumber(Number.MIN_VALUE);
// => true
 
_.isNumber(Infinity);
// => true
 
_.isNumber('3');
// => false

源代码

import baseGetTag from './.internal/baseGetTag.js'
import isObjectLike from './isObjectLike.js'

/**
 * 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 0.1.0
 * @category Lang
 * @param {*} value The value to check.
 * @returns {boolean} Returns `true` if `value` is a number, else `false`.
 * @see isInteger, toInteger, toNumber
 * @example
 *
 * isNumber(3)
 * // => true
 *
 * isNumber(Number.MIN_VALUE)
 * // => true
 *
 * isNumber(Infinity)
 * // => true
 *
 * isNumber('3')
 * // => false
 */
//判断一个值是否被归类为原生Number或者Number对象
//注意:如果想排除掉Infinity,-Infinity和NaN,使用Number.isFinite判断
function isNumber(value) {
  return typeof value == 'number' ||
    (isObjectLike(value) && baseGetTag(value) == '[object Number]')
}

export default isNumber

 

posted @ 2019-01-08 10:39  hahazexia  阅读(759)  评论(0)    收藏  举报