Regular functions have arguments binding. When you pass arguments to a regular function, you can access them using the arguments
keyword as shown in below example.
let x = function () {
console.log(arguments);
}
x(4,6,7); // Arguments [4, 6, 7]
Arrow functions do not have arguments binding.
When you try to access an argument using the arrow function, it will give an error as shown in below example.
let x = () => {
console.log(arguments);
}
x(4,6,7);
// ReferenceError: Can't find variable: arguments
To solve this issue, you can use the spread syntax as shown in below example.
let x = (...n) => {
console.log(n);
}
x(4,6,7); // [4, 6, 7]