UNPKG

733 BJavaScriptView Raw
1/**
2 * Checks if `value` is the
3 * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)
4 * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)
5 *
6 * @static
7 * @memberOf _
8 * @since 0.1.0
9 * @category Lang
10 * @param {*} value The value to check.
11 * @returns {boolean} Returns `true` if `value` is an object, else `false`.
12 * @example
13 *
14 * _.isObject({});
15 * // => true
16 *
17 * _.isObject([1, 2, 3]);
18 * // => true
19 *
20 * _.isObject(_.noop);
21 * // => true
22 *
23 * _.isObject(null);
24 * // => false
25 */
26function isObject(value) {
27 var type = typeof value;
28 return value != null && (type == 'object' || type == 'function');
29}
30
31module.exports = isObject;