🎉 سال نو، مهارت نو، مشاوره رایگان نقشه راه برنامه نویسی (آفر ویژه ثبت نام قبل از افزایش قیمت 🔥)
۰ ثانیه
۰ دقیقه
۰ ساعت
۱ محمد مهدی غیرتمند
روش عجیب استفاده از this
جامعه جاوا اسکریپت ایجاد شده در ۱۲ اردیبهشت ۱۴۰۴

توی یکی از بخش‌ها استاد this رو به یک شکل دیگه استفاده کرد میخوام بدونم چرا از ان روش استفاده شده و اینکه کجا‌ها باید استفاده بشه   

this[elem.target.value]

سلام،

نمونه کدو قرار بدید تا دقیقتر روی مثال بررسی بشه.

ولی بطور کلی، روش this[elem.target.value] تو جاوااسکریپت یه روشیه که بهت اجازه میده به صورت پویا به پراپرتی‌های یک آبجکت دسترسی پیدا کنی، وقتی اسم پراپرتی از ورودی کاربر (مثل یه فیلد فرم یا منوی کشویی) میاد. فقط باید حواست باشه this درست تنظیم شده باشه (مثلاً با bind تو کلاس‌ها) و ویژگی که میخوای وجود داشته باشه، وگرنه undefined میده.
مثال 1:

class Form {
 constructor() {
   this.state = { name: "", age: "" };
   this.handleChange = this.handleChange.bind(this);
 }
 handleChange(e) {
   this.state[e.target.name] = e.target.value; // پویا
   console.log(this.state);
 }
}
// HTML: <input name="name" onChange={this.handleChange} />

مثال 2:

class Picker {
 constructor() {
   this.data = { name: "Ali", age: 25 };
   this.handleSelect = this.handleSelect.bind(this);
 }
 handleSelect(e) {
   console.log(this.data[e.target.value]); // پویا
 }
}
// HTML: <select onChange={this.handleSelect}><option value="name">Name</option></select>
محسن موحد ۱۲ اردیبهشت ۱۴۰۴، ۲۰:۲۰