من میدانم که هیچ نمیدانم.
بررسی 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
مطلبی دیگر از این انتشارات
چرا به بلاکچین به عنوان یک تکنولوژی اطمینان داریم؟
مطلبی دیگر از این انتشارات
سرویس کریپتویی جدید PayPal با قابلیت انتقال به سایر ولتها!
مطلبی دیگر از این انتشارات
بازی Elfin Kingdom، ادامه رو مسیر Axie Infinity