💻 آخرین فرصت یادگیری برنامه‌نویسی با آفر ویژه قبل از افزایش قیمت در ۱۵ آذر ماه (🎁 به همراه یک هدیه ارزشمند )
۰ ثانیه
۰ دقیقه
۰ ساعت
۱ علی
متغیر گلوبال arguments
جامعه جاوا اسکریپت ایجاد شده در ۱۰ تیر ۱۴۰۳

درود

 

این متغیر دقیقا چی هست و چه کاری رو انجام میده و اینکه چه موارد استفاده ای داره؟

سلام،

فک میکنم منظورتون Arguments Object هست.

arguments مثل یه آرایه عمل میکنه که همه آرگومان‌های پاس داده شده به تابع رو توی خودش ذخیره میکنه. با استفاده از این متغیر میتونی به راحتی به همه آرگومان‌ها دسترسی داشته باشی، حتی اگه ندونی چندتا آرگومان به تابع پاس داده شده.

فرض کن یه تابع داری که نمیدونی چندتا آرگومان بهش پاس داده میشه. با استفاده از arguments میتونی همشون رو بگیری و روشون کار کنی:

function sum() {
  let total = 0;
  for (let i = 0; i < arguments.length; i++) {
    total += arguments[i];
  }
  return total;
}
console.log(sum(1, 2, 3)); // 6
console.log(sum(5, 10, 15, 20)); // 50

توی این مثال، تابع sum میتونه هر تعداد آرگومان بگیره و با استفاده از arguments همه رو جمع کنه.

توی ES6، اگه بخوای راحت‌تر با آرگومان‌ها کار کنی، میتونی از پارامترهای rest استفاده کنی که خیلی خواناتر هست:

function sum(...args) {
  return args.reduce((total, num) => total + num, 0);
}
console.log(sum(1, 2, 3)); // 6
console.log(sum(5, 10, 15, 20)); // 50

اینجا ...args همون کار arguments رو میکنه، ولی به صورت یه آرایه واقعی.

به این توابع variadic functions هم میگن.

محسن موحد ۱۱ تیر ۱۴۰۳، ۲۳:۲۵