_.isString is a Lodash Lang helper (available since 0.1.0, stable in 4.x). It runs anywhere Lodash runs — modern browsers (via CDN or bundle) and Node.js / Bun / Deno with npm install lodash.
✓ Stable · Lodash 0.1.0+
_.isString()
Available in [email protected] full builds and the lodash/isString 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
_.isStringLodash 0.1.0+
Bottom line: Safe for production once Lodash is on the page or in your bundle. Prefer import isString from "lodash/isString" for smaller builds. For primitives only, typeof value === "string" is enough.
Frequently Asked Questions
_.isString(value) returns true if value is a string primitive or a boxed String object. Numbers, booleans, null, arrays, and other types return false.
Yes. "" is still a valid string. Combine with a length check if you also require non-empty input.
Boxed String objects have typeof "object", but Lodash recognizes the [object String] brand and returns true — matching the docs intent for string classification.
typeof only catches primitives. _.isString also accepts rare String objects. Prefer primitives in new code; use _.isString when you must accept both.
Template literals evaluate to plain strings, so _.isString(`hi`) returns true.
Use import isString from "lodash/isString" or require("lodash/isString"). Full build: import _ from "lodash" then _.isString.