_.isArguments(value)

126

_.isArguments(value)

_.isArguments判断一个值是否是arguments对象

参数

value (*): 需要检查的值

返回值

(boolean): 如果是arguments对象返回true,否则false

例子

_.isArguments(function() { return arguments; }());
// => true
 
_.isArguments([1, 2, 3]);
// => false

源代码

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

/**
 * Checks if `value` is likely an `arguments` object.
 *
 * @since 0.1.0
 * @category Lang
 * @param {*} value The value to check.
 * @returns {boolean} Returns `true` if `value` is an `arguments` object, else `false`.
 * @example
 *
 * isArguments(function() { return arguments }())
 * // => true
 *
 * isArguments([1, 2, 3])
 * // => false
 */
//判断一个值是否是arguments对象
function isArguments(value) {
  //是一个object-like对象且toStringTag是[object Arguments]
  return isObjectLike(value) && getTag(value) == '[object Arguments]'
}

export default isArguments
isObjectLike
/**
 * Checks if `value` is object-like. A value is object-like if it's not `null`
 * and has a `typeof` result of "object".
 *
 * @since 4.0.0
 * @category Lang
 * @param {*} value The value to check.
 * @returns {boolean} Returns `true` if `value` is object-like, else `false`.
 * @example
 *
 * isObjectLike({})
 * // => true
 *
 * isObjectLike([1, 2, 3])
 * // => true
 *
 * isObjectLike(Function)
 * // => false
 *
 * isObjectLike(null)
 * // => false
 */
//判断一个值是否是一个object-like,规则是:typeof返回object,并且不是null
function isObjectLike(value) {
  return typeof value == 'object' && value !== null
}

export default isObjectLike

 

posted @ 2018-12-19 10:15  hahazexia  阅读(328)  评论(0)    收藏  举报