Checks if value is a pristine native function from the JavaScript engine. Part of Lodash Lang since 3.0.0 (stable API — not deprecated, but see warning).
Pass the value you want to inspect or convert. Read the return type carefully before you use the result.
Syntax
Call _.isNative. Start with this line.
Lodash
_.isNative(value)
Call
What it does
_.isNative(value)
Primary signature.
Prefer import isNative from "lodash/isNative" when you want a smaller bundle.
Library declarations
Lodash
_.isNative(value)
Parameters
Parameter
Description
value
Required. The value to check
Return Value
Return Value
Description
*
true if pristine native, else false
Lodash Examples
Example 1 — Official: Array.prototype.push
A pristine array method from the engine is native.
Array constructor.Array itself is a native function → true.
Names. The string "push" is not the method.
Rule. Pass the function reference, not a label.
Compatibility
Browser & Runtime Support
_.isNative is a Lodash Lang helper (available since 3.0.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. Reliability depends on an unmasked host: apps loading core-js / babel-polyfill may hit the documented throw.
✓ Stable · Caution with core-js
_.isNative()
Available in [email protected] full builds and the lodash/isNative modular import. Works in evergreen browsers and current Node LTS when Lodash is installed — treat results carefully under polyfills.
CautionHost-dependent
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
_.isNativeLodash 3.0.0+
Bottom line: API is available wherever Lodash is. Prefer feature detection in polyfilled apps. Prefer import isNative from "lodash/isNative" for smaller builds, and catch errors if core-js may be loaded.
Frequently Asked Questions
_.isNative(value) returns true if value is a pristine native function provided by the JavaScript engine (for example Array.prototype.push). User-defined functions and Lodash itself return false.
Lodash is ordinary JavaScript shipped as a library — not an engine built-in — so its Function#toString fingerprint does not match native code.
Yes. Official docs note that when core-js (or packages like babel-polyfill that use it) masks native detection, Lodash may throw an error instead of returning a misleading false.
Not always. Prefer explicit feature checks ("does this API exist and behave correctly?") over relying on isNative in polyfilled environments.
Usually no. Wrappers, binds, and polyfill replacements often lose the pristine native fingerprint.
Use import isNative from "lodash/isNative" or require("lodash/isNative"). Full build: import _ from "lodash" then _.isNative.