حلقه for...in در JS

حلقه for...in در جاوااسکریپت

حلقه for...in یکی از ساختارهای تکرار در زبان جاوااسکریپت است که برای پیمایش خصوصیات شمارش‌پذیر یک شیء به کار می‌رود. این حلقه با حلقه‌های معمولی for تفاوت اساسی دارد و کاربرد خاص خود را در برنامه‌نویسی دارد.

توجه: حلقه for...in فقط برای اشیاء استفاده می‌شود و برای آرایه‌ها توصیه نمی‌شود زیرا ممکن است نتایج غیرمنتظره ایجاد کند.

سینتکس پایه

ساختار کلی این حلقه به صورت زیر است:

for (variable in object) {
    // دستورات اجرایی
}
  • variable: نام متغیری که در هر تکرار مقدار کلید فعلی را دریافت می‌کند
  • object: شیء مورد نظر برای پیمایش خصوصیات

مثال عملی

در این مثال یک شیء ساده ایجاد کرده‌ایم و با حلقه for...in خصوصیات آن را نمایش می‌دهیم:

کد خروجی
const person = {
  name: 'علی',
  age: 30,
  job: 'برنامه‌نویس'
};

for (let key in person) {
  console.log(key + ': ' + person[key]);
}
name: علی
age: 30
job: برنامه‌نویس

تفاوت با حلقه for...of

این دو حلقه اغلب با هم اشتباه گرفته می‌شوند اما کاربرد کاملاً متفاوتی دارند:

  1. for...in: برای پیمایش خصوصیات شیء (کلیدها)
  2. for...of: برای پیمایش مقادیر قابل تکرار مانند آرایه‌ها یا رشته‌ها

برای یادگیری عمیق‌تر و مشاهده مثال‌های پیشرفته‌تر، می‌توانید از ادامه مطلب استفاده کنید.

نکته مهم: همیشه از hasOwnProperty برای اطمینان از اینکه خصوصیت متعلق به خود شیء است (و نه از طریق زنجیره پروتوتایپ به ارث رسیده) استفاده کنید.