isLength.js 880 Bytes
Newer Older
徐立's avatar
徐立 committed
1 2
/** Used as references for various `Number` constants. */
/** 用作各种“数字”常量的引用。 */
3
const MAX_SAFE_INTEGER = 9007199254740991;
徐立's avatar
徐立 committed
4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29

/**
 * Checks if `value` is a valid array-like length.
 * 检查' value '是否为有效的类数组长度。
 * **Note:** This method is loosely based on
 * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).
 *
 * @since 4.0.0
 * @category Lang
 * @param {*} value 要检查的值。
 * @returns {boolean} 如果' value '是有效长度,则返回' true ',否则返回' false '。
 * @example
 *
 * isLength(3)
 * // => true
 *
 * isLength(Number.MIN_VALUE)
 * // => false
 *
 * isLength(Infinity)
 * // => false
 *
 * isLength('3')
 * // => false
 */
function isLength(value) {
30
	return typeof value === 'number' && value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;
徐立's avatar
徐立 committed
31 32
}

33
export default isLength;