من میدانم که هیچ نمیدانم.
بررسی arguments در توابع جاوااسکریپت

آرگومانها arguments یک آبجکت شبیه به آرایه هست که توی همه توابع وجود داره و شامل آرگومانهایی هست که به تابع پاس داده شده:
function commit() {
console.log(arguments); // [Arguments] { '0': 1, '1': 2, '2': 4 }
console.log(arguments[0]); // 1
}
commit(1, 2, 4)به arguments گفته میشه آبجکت شبیه آرایه. این دلیل که شبیه به یک آرایه هست که index اون از صفر شروع میشه و همچنین شامل پراپرتی length هست. اما متدهایی که یک آرایه داره مثل foreEach و map رو نداره.
همچنین Arrow Function ها چنین متغیری ندارن:
commit = () => {
console.log(arugments);
}
commit(1, 2, 4); // ReferenceError: arugments is not definedپس بجای اون میتونیم از پارامتر rest یا سه نقطه استفاده کنیم:
commit = (...args) => {
console.log(args);
}
commit(1, 2, 4); // [ 1, 2, 4 ]پارامتر rest یک آرایه واقعی هست و همهی متدها و پراپرتیهایی که یک آرایه معمولی داره رو شامل میشه.
منبع:
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/arguments
https://dev.to/macmacky/70-javascript-interview-questions-5gfi
مطلبی دیگر از این انتشارات
چانگ پنگ ژائو: ترس از تورم بالا و رکود اقتصادی باعث پذیرش بیتکوین خواهد شد!
مطلبی دیگر از این انتشارات
حلقه for ... of در جاوااسکریپت
مطلبی دیگر از این انتشارات
میمکوین هوکایدو اینو(Hokkaido Inu) به خانواده نیل پیوست