Computed Property در جاوا اسکریپت


ES6 به شما اجازه می دهد که از expression داخل brackets []
استفاده کنید.سپس از نتیجه expression به عنوان نام property یک object استفاده می شود.
به مثال زیر توجه کنید:
1 2 3 4 5 6 7 8 |
let propName = "c"; const rank = { a: 1, b: 2, [propName]: 3, }; console.log(rank.c); // 3 |
در این مثال [propName]
یک computed property برای rank
object است.نام property از مقدار متغیر propName
نشات می گیرد.
هنگامی که به c
property شیء rank دسترسی پیدا می کنید ، جاوا اسکریپت propName را evaluates کرده و مقدار property’s را برمی گرداند.
مشابه به object literal، شما می توانید از computed properties برای getters و setters در class ها استفاده کنید
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
let name = 'fullName'; class Person { constructor(firstName, lastName) { this.firstName = firstName; this.lastName = lastName; } get[name]() { return `${this.firstName} ${this.lastName}`; } } let person = new Person('John', 'Doe'); console.log(person.fullName); |
خروجی:
1 |
John Doe |
get[name] یک computed property برای getter کلاس Person است.در runtime زمانی که شما به fullName
دسترسی پیدا می کنید،person object درواقع getter را فراخوانی و full name را بر می گرداند.
مطالب زیر را حتما مطالعه کنید
Reflection در جاوا اسکریپت
در برنامه نویسی کامپیوتر،reflection قابلیت و توانایی یک برنامه برای...
Proxy در جاوا اسکریپت
JavaScript Proxy یک object است که یک object دیگر را...
()includes در جاوا اسکریپت
متد () includes تعیین می کند که آیا یک رشته(string)...
endsWith در جاوا اسکریپت
در صورتی که یک رشته(string) با کاراکترهای یک رشته(string) مشخص...
startsWith در جاوا اسکریپت
()startsWith مقدار true را برمی گرداند اگر رشته(stirng) باکاراکترهای یک...
()Object.is در جاوا اسکریپت
()Object.is دقیقا مانند عملگر === با دو تفاوت رفتار می...
دیدگاهتان را بنویسید