_.isTypedArray(value)
159
_.isTypedArray(value)
_.isTypedArray判断一个值是否是一个typed array
参数
value (*): 需要检查的值
返回值
(boolean): 如果是typed array对象返回true,否则false
例子
_.isTypedArray(new Uint8Array); // => true _.isTypedArray([]); // => false
源代码
import getTag from './.internal/getTag.js' import nodeTypes from './.internal/nodeTypes.js' import isObjectLike from './isObjectLike' /** Used to match `toStringTag` values of typed arrays. */ //用于匹配 typeArray类型数据的toStringTag const reTypedTag = /^\[object (?:Float(?:32|64)|(?:Int|Uint)(?:8|16|32)|Uint8Clamped)\]$/ /* Node.js helper references. */ //nodejs提供的工具函数 util.types.isTypedArray(value) const nodeIsTypedArray = nodeTypes && nodeTypes.isTypedArray /** * Checks if `value` is classified as a typed array. * * @since 3.0.0 * @category Lang * @param {*} value The value to check. * @returns {boolean} Returns `true` if `value` is a typed array, else `false`. * @example * * isTypedArray(new Uint8Array) * // => true * * isTypedArray([]) * // => false */ //判断一个值是否是一个typed array const isTypedArray = nodeIsTypedArray ? (value) => nodeIsTypedArray(value) : (value) => isObjectLike(value) && reTypedTag.test(getTag(value)) //如果是nodejs环境之间调用util.types.isTypedArray(value)判断 //否则判断是否是object-like对象并且toStringTag是否符合要求 export default isTypedArray