_.chain is a Lodash 4.x Seq helper. It runs anywhere full Lodash runs — modern browsers (CDN or bundle) and Node.js / Bun / Deno with npm install lodash. There is no native fluent Lodash chain — use nested calls or array methods instead.
✓ Stable · Lodash 4.x
_.chain()
Available in [email protected] full builds. Wrapper chaining is not typical of tiny modular lodash/* imports. 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
_.chainLodash 4.x full
Bottom line: Safe for production with full Lodash. Prefer _(value) for shorthand wraps, and .value() to finish every explicit chain.
Frequently Asked Questions
It wraps value in a Lodash wrapper with explicit method chaining enabled. You call Lodash methods fluently, then unwrap with .value().
Explicit chains keep returning a wrapper. .value() (alias .valueOf()) executes the sequence and returns the plain result.
_(value) uses implicit chaining — some methods that return primitives auto-unwrap. _.chain(value) is always explicit until .value().
Wrapping alone does not. Mutation depends on later methods (e.g. reverse may mutate; map/filter usually do not).
The wrapper defers unwrapping until .value(), but steps still run eagerly when you unwrap — not an infinite lazy stream.
For one or two calls, nested Lodash or native methods are often clearer and easier to tree-shake. Use chain for longer pipelines.