_.isSet is a Lodash Lang helper since 4.3.0. It runs anywhere Lodash runs — modern browsers (CDN or bundle) and Node.js / Bun / Deno with npm install lodash. Native Set itself needs ES2015+ environments.
✓ Stable · Lodash 4.3.0+
_.isSet()
Available in [email protected] full builds and the lodash/isSet modular import. Requires a runtime that provides the Set built-in (all modern engines).
100%With Lodash 4.3+
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
_.isSetLodash 4.3.0+
Bottom line: Safe for production once Lodash is loaded on an ES2015+ runtime. Prefer import isSet from "lodash/isSet" for smaller bundles. Use it before Set-only operations.
Frequently Asked Questions
_.isSet(value) returns true if value is classified as a Set object, otherwise false. WeakSet, arrays, Maps, and plain objects all return false.
WeakSet is a different built-in type with its own brand ([object WeakSet]). Lodash exposes _.isWeakSet for that check.
Yes. _.isSet(new Set()) is true whether the Set has members or not — the check is about type, not size.
No. Duck-typed objects are not Sets. Lodash looks for a real Set classification, not method names.
Yes. Instances that brand as Set (including typical subclasses) return true.
Use import isSet from "lodash/isSet" or require("lodash/isSet"). Full build: import _ from "lodash" then _.isSet.