Checks if value is the language type of Object (arrays, functions, objects, regexes, new Number(0), new String('')). Part of Lodash Lang (stable — not deprecated). Note:null returns false despite typeof null === "object".
Pass the value you want to inspect or convert. Read the return type carefully before you use the result.
Syntax
Call _.isObject. Start with this line.
Lodash
_.isObject(value)
Call
What it does
_.isObject(value)
Primary signature.
Prefer import isObject from "lodash/isObject" when you want a smaller bundle.
Library declarations
Lodash
_.isObject(value)
Parameters
Parameter
Description
value
Required. Value to check
Return Value
Return Value
Description
*
true if Object language type, else false
Lodash Examples
Example 1 — Official: Objects, Arrays, Functions, null
Primitives. Bare 0 / "" are not Object types → false.
Docs. Matches the official language-type definition.
Tip. Prefer primitives in modern code; still handle wrappers if needed.
Compatibility
Browser & Runtime Support
_.isObject is a Lodash Lang helper available in 4.x (and earlier builds). It runs anywhere Lodash runs — modern browsers (via CDN or bundle) and Node.js / Bun / Deno with npm install lodash. Native engines have typeof, but Lodash’s helper also treats functions as Object language types and rejects null.
✓ Stable · Lodash 4.x
_.isObject()
Available in [email protected] full builds and the lodash/isObject modular import. Works in evergreen browsers and current Node LTS when Lodash is installed.
100%With Lodash 4.x
Google ChromeSupported · Desktop & Mobile
Full support
Mozilla FirefoxSupported · Desktop & Mobile
Full support
Apple SafariSupported · macOS & iOS
Full support
Microsoft EdgeSupported · Chromium
Full support
Internet ExplorerNo native support · Use a polyfill
Polyfill
OperaSupported · Modern versions
Full support
Samsung InternetSupported · Android
Full support
BunSupported · JavaScript runtime
Supported
DenoSupported · JavaScript runtime
Supported
Node.jsSupported · Server runtime
Supported
Android WebViewSupported · Modern WebView
Full support
_.isObjectLodash 4.x
Bottom line: Safe for production once Lodash is on the page or in your bundle. Prefer import isObject from "lodash/isObject" for smaller builds. Safer than typeof value === "object" alone.
Frequently Asked Questions
_.isObject(value) checks whether value is the language type of Object — including arrays, functions, plain objects, regexes, and boxed primitives like new Number(0). null returns false.
Yes. Arrays have typeof "object" and are not nullish, so _.isObject([1, 2, 3]) is true.
Yes for Lodash. Functions satisfy typeof "function", which _.isObject deliberately allows — unlike _.isObjectLike.
isObject is broad (arrays, functions, dates, regexes). isPlainObject narrows to simple dictionaries from Object or null prototypes — classes and builtins fail.
typeof null is the legacy "object" quirk, but Lodash rejects null and undefined up front with value != null.
Use import isObject from "lodash/isObject" or require("lodash/isObject") so bundlers can tree-shake unused Lodash code. Full build: import _ from "lodash" then _.isObject.