Lodash _.isArguments() Method

Beginner
5 min read
Updated: Nov 2026
5 examples
Lang

Definition

Checks if value is likely an arguments object — the special array-like object from classic (non-arrow) functions. Part of Lodash Lang since 0.1.0 (stable in 4.x — not deprecated).

Pass the value you want to inspect or convert. Read the return type carefully before you use the result.

Syntax

Call _.isArguments. Start with this line.

Lodash
_.isArguments(value)
CallWhat it does
_.isArguments(value)Primary signature.

Prefer import isArguments from "lodash/isArguments" when you want a smaller bundle.

Library declarations
Lodash
_.isArguments(value)

Parameters

ParameterDescription
valueRequired. The value to check

Return Value

Return ValueDescription
*true if Arguments-like, else false

Lodash Examples

Example 1 — Official: Real Arguments Object

A classic function returns its arguments binding.

Lodash
_.isArguments(function () { return arguments; }());
// → true
Try It Yourself

How It Works

  1. IIFE. A classic function runs and returns arguments.
  2. Tag. That value is a real Arguments object.
  3. Check. _.isArguments returns true.
  4. Note. Arrow functions do not create their own arguments.

Example 2 — Official: Plain Array

Arrays are not Arguments objects, even when they look similar.

Lodash
_.isArguments([1, 2, 3]);
// → false
Try It Yourself

How It Works

  1. Input. A normal array literal.
  2. Type. It is an Array, not Arguments.
  3. Result. false.
  4. Check arrays with. _.isArray.

Example 3 — Array.from(arguments) Loses the Tag

Converting Arguments to an Array changes the type check.

Lodash
var args = (function () { return arguments; })(1, 2, 3);
var copy = Array.from(args);

_.isArguments(args);  // → true
_.isArguments(copy);  // → false
_.isArray(copy);      // → true
Try It Yourself

How It Works

  1. Start. args is a real Arguments object → true.
  2. Convert. Array.from builds a new Array.
  3. After. isArguments(copy) is false; isArray is true.
  4. Also. _.toArray(args) does the same kind of conversion.

Example 4 — isArguments vs isArray / isArrayLike

Arguments are array-like, but not arrays.

Lodash
var args = (function () { return arguments; })("a", "b");

_.isArguments(args);  // → true
_.isArray(args);      // → false
_.isArrayLike(args);  // → true
Try It Yourself

How It Works

  1. isArguments. Detects the special Arguments tag → true.
  2. isArray. Arguments are not Array instances → false.
  3. isArrayLike. Indexed keys + length → true.
  4. Pick. Use the checker that matches the contract you need.

Example 5 — Other Values Are false

Plain objects, null, and numbers are not Arguments.

Lodash
_.isArguments({ 0: "a", length: 1 });  // → false
_.isArguments(null);                   // → false
_.isArguments(1);                      // → false
Try It Yourself

How It Works

  1. Shaped object. Looking array-like is not enough.
  2. null / number. Clearly not Arguments → false.
  3. Safe. No throw — always returns a boolean.
  4. Modern APIs. Prefer rest parameters so callers pass real arrays.

Browser & Runtime Support

_.isArguments 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+

_.isArguments()

Available in [email protected] full builds and the lodash/isArguments modular import. Works in evergreen browsers and current Node LTS when Lodash is installed.

100% With Lodash 4.x
Google Chrome Supported · Desktop & Mobile
Full support
Mozilla Firefox Supported · Desktop & Mobile
Full support
Apple Safari Supported · macOS & iOS
Full support
Microsoft Edge Supported · Chromium
Full support
Internet Explorer No native support · Use a polyfill
Polyfill
Opera Supported · Modern versions
Full support
Samsung Internet Supported · Android
Full support
Bun Supported · JavaScript runtime
Supported
Deno Supported · JavaScript runtime
Supported
Node.js Supported · Server runtime
Supported
Android WebView Supported · Modern WebView
Full support
_.isArguments Lodash 0.1.0+

Bottom line: Safe for production once Lodash is on the page or in your bundle. Prefer import isArguments from "lodash/isArguments" for smaller builds. Modern APIs often use rest parameters instead of relying on Arguments objects.

Frequently Asked Questions

_.isArguments(value) returns true if value is likely an arguments object — the special array-like object created for non-arrow functions — otherwise false.
No. It is array-like (indexed properties and length) but not an Array instance. _.isArguments is true only for that special Arguments object; _.isArray is false for it.
No. Converting arguments into a real array produces an Array. _.isArguments returns false for ordinary arrays.
Arrow functions do not have their own arguments binding. There is no Arguments object unless you reference an outer classic function’s arguments.
Yes for most new APIs. (...args) gives a real Array, so you rarely need isArguments. Keep isArguments for libraries that still accept legacy Arguments values.
Use import isArguments from "lodash/isArguments" or require("lodash/isArguments") for tree-shaking friendly bundles. Full build: import _ from "lodash" then _.isArguments.

Next: _.isArray()

Check whether a value is a true Array instance.

_.isArray() tutorial →

About the author

Mari Selvan M P
Mari Selvan M P 🔗

Developer, cloud engineer, and technical writer

  • Experience 12 years building web and cloud systems
  • Focus Full Stack Development, AWS, and Developer Education

I write practical tutorials so students and working developers can learn by doing—from databases and APIs to deployment on AWS.

10 people found this page helpful