_.isDate(value)

133

_.isDate(value)

_.isDate检测一个值是否是原生Date对象

参数

value (*): 需要检查的值

返回值

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

例子

_.isDate(new Date);
// => true
 
_.isDate('Mon April 23 2012');
// => false

源代码

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

/* Node.js helper references. */
//nodejs环境的工具方法 util.types.isDate(value)
const nodeIsDate = nodeTypes && nodeTypes.isDate

/**
 * Checks if `value` is classified as a `Date` object.
 *
 * @since 0.1.0
 * @category Lang
 * @param {*} value The value to check.
 * @returns {boolean} Returns `true` if `value` is a date object, else `false`.
 * @example
 *
 * isDate(new Date)
 * // => true
 *
 * isDate('Mon April 23 2012')
 * // => false
 */
//检测一个值是否是原生Date对象
const isDate = nodeIsDate
  ? (value) => nodeIsDate(value)
  : (value) => isObjectLike(value) && baseGetTag(value) == '[object Date]'
  //如果是nodejs环境调用util.types.isDate(value)否则判断是否是一个object-like对象且toStringTag等于[object Date]

export default isDate

 

posted @ 2018-12-20 17:43  hahazexia  阅读(731)  评论(0)    收藏  举报