من میدانم که هیچ نمیدانم.
بررسی 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
مطلبی دیگر از این انتشارات
با تأثیرگذارترین تحلیلگر های ارز دیجیتال آشنا شوید
مطلبی دیگر از این انتشارات
کیف پول جمینی، پشتیبانی از ۸۰ رمزارز بدون کارمزد
مطلبی دیگر از این انتشارات
ارز دیجیتال لایت کوین (LTC) چگونه استخراج میشود؟