mirror of
https://github.com/jbranchaud/til
synced 2026-01-08 09:38:04 +00:00
Hello, I've added a small blockquote below the description to indicate that this method of accessing an indefinite number of function arguments has been superseded by the use of the spread operator via rest parameters for ES6+ compatibility.
33 lines
953 B
Markdown
33 lines
953 B
Markdown
# Accessing Arguments To A Function
|
|
|
|
The `arguments` object is available within any JavaScript function. It is
|
|
an array-like object with all of the arguments to the function. Even if not
|
|
all of the arguments are referenced in the function signature, they can
|
|
still be accessed via the `arguments` object.
|
|
|
|
> For ES6+ compatibility, the `spread` operator used via [rest parameters](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/rest_parameters) is preferred over the `arugments` object when accessing an abritrary number of function arguments.
|
|
|
|
```javascript
|
|
function argTest(one) {
|
|
console.log(one);
|
|
console.log(arguments);
|
|
console.log(arguments[1]);
|
|
}
|
|
|
|
argTest(1);
|
|
// 1
|
|
// [1]
|
|
// undefined
|
|
|
|
argTest(1, 'two', true);
|
|
// 1
|
|
// [1,'two',true]
|
|
// 'two'
|
|
```
|
|
|
|
See the [Arguments object
|
|
docs](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/arguments)
|
|
on MDN for more details.
|
|
|
|
h/t Dorian Karter
|