تابستون داره تموم میشه ها، فرصت‌ها محدودن کلی آفر جذاب در کمپین تابستون🔥👇
۰ ثانیه
۰ دقیقه
۰ ساعت
۱ عیلرضا شهریاری
تفاوت دستیابی به پراپرتی‌های آبجکت در (داخل و خارج از) حلقه_ for in
جامعه جاوا اسکریپت ایجاد شده در ۰۴ بهمن ۱۴۰۰

با سلام

فرض کنید میخواهیم در داخل حلقه زیر ("for in") از متغییر x استفاده میکنیم تا روی value‌های یک آبجکت حلقه بزنیم. و آنها را داخل txt بریزیم.

برای اینکه در داخل حلقه به مقادیر پراپرتی‌ها دسترسی داشته باشیم. طبق مثال زیر

let txt = '';
for (let x for object){
  txt += object[x];
  }

متغییر x را بدون اینکه داخل کوتیشن ('' یا "") قرار دهیم! مستقیما داخل براکت قرار دادیم.

اما اگر خارج از این حلقه بخواهیم به value‌های یک آبجکت دسترسی داشته باشیم.واز علامت براکت استفاده کنیم

باید نام پراپرتی‌ها را داخل کوتیشن و بعد براکت قرار دهیم. (object[''property"])

سوال بنده این که چرا داخل حلقه for in در مثال بالا, x را داخل کوتیشن قرار نمی‌دهیم؟؟؟

سلام ، امیدوارم حالتون خوب باشه .

ببینید در اینجا موضوع حلقه و داخل یا بیرون اون بودن نیست ، در واقع شما وقتی یک متغییر تعریف می‌کنید و به اون مقداری نسبت میدید و بعدا جایی از اسم اون متغییر استفاده میکنید دارید در واقع به مقداری که براش تعیین کردید اشاره میکنید . با یک مثال موضوع براتون روشن میشه

let x = '1'
let object = {
  '1':'foo'
  }
console.log(object[x]) // foo



در اینجا وقتی می‌خوایم پراپرتی '1' در ابجکت را داشته باشیم می‌توانیم از x که به مقدار '1' اشاره میکنه استفاده کنیم.

از اونجایی که نام پراپرتی‌های ابجکت‌ها در جاوااسکریپت میتونه عدد یا رشته باشه میتونیم از متغییر هایی که به اینها اشاره می‌کنند استفاده کنیم .

در مثال خودتون هم وقتی میگیم

for(let x in object){
//...
}

در واقع در هر حلقه متغییر x به یکی از پراپرتی‌های object اشاره میکنه

موفق باشید.

بهترین پاسخ
علیرضا ایمانی ۰۹ بهمن ۱۴۰۰، ۱۹:۳۹