ویژگی‌های اشیاء

از ویکی‌کد، دانشنامهٔ برنامه‌نویسی
پرش به ناوبری پرش به جستجو


ویژگی‌ها بخش مهمی از هر گونه شیء جاوا اسکریپت می‌باشند.[۱]

ویژگی ها در جاوا اسکریپت

ویژگی‌ها مقادیری هستند که با یک شیء در جاوا اسکریپت مرتبط هستند.

یک شیء جاوا اسکریپت مجموعه ای از ویژگی‌های ناهماهنگ است.

ویژگی‌ها معمولاً می‌توانند تغییر بپذیرند، اضافه شوند و حذف شوند اما برخی از آنها فقط خواندنی است.

دسترسی به ویژگی ها در جاوا اسکریپت

شیوه نوشتار دستور برای دسترسی به یک ویژگی از یک شیء به صورت زیر است:

objectName.property  // person.age

یا

objectName["property"] // person["age"]

یا

objectName[expression] // x = "age"; person[x]

عبارت (Expression) می‌بایست به نام یک ویژگی اشاره کند.

مثال ۱

person.firstname + " is " + person.age + " years old.";


مشاهدهٔ نتیجه


مثال ۲

person["firstname"] + " is " + person["age"] + " years old.";


مشاهدهٔ نتیجه

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

حلقهfor...inدر جاوا اسکریپت در ویژگی‌های یک شیء یک حلقه ایجاد می‌کند.

شیوهٔ نوشتار

for (variable in object) {
// code to be executed
}

بلاک کدی که درون حلقهfor...inقرار می‌گیرد برای هر ویژگی اجرا خواهد شد.

ایجاد حلقه در ویژگی‌های یک شیء:

مثال

1var person = {fname:"John", lname:"Doe", age:25};
2
3for (x in person) {
4txt += person[x];
5}


مشاهدهٔ نتیجه

اضافه کردن ویژگی های جدید

شما می‌توانید به یک شیء موجود یک با استفاده از مقداردهی یک ویژگی جدید، آن ویژگی را به آن شیء اضافه کنید.

فرض بگیرید که شیء person قبلاً وجود داشته‌است - شما می‌توانید به آن ویژگی‌های جدید اضافه کنید:

مثال

person.nationality = "English";


مشاهدهٔ نتیجه

حذف ویژگی ها

کلمه کلیدی delete یک ویژگی را از یک شیء حذف می‌کند:

مثال

1var person = {firstName:"John", lastName:"Doe", age:50, eyeColor:"blue"};
2delete person.age; // or delete person["age"];


مشاهدهٔ نتیجه


کلمه کلیدی delete هم مقدارویژگی و هم خود ویژگی را حذف می‌کند.

بعد از حذف کردن، ویژگی تا قبل از اینکه دوباره به شیء اضافه شود، غیرقابل استفاده است.

عملگر delete برای استفاده بر روی ویژگی‌های یک شیء طراحی شده‌است. این عملگر اثری روی متغیرها یا توابع ندارد.

عملگر delete نباید بر روی ویژگی‌های اشیاء از قبل تعریف شده در جاوا اسکریپت استفاده شود. این امر موجب فروپاشی یا crash برنامه شما می‌شود.

خواص های ویژگی

تمامی ویژگی‌ها یک نام دارند. به علاوه آنها همچنین یک مقدار دارند.

مقدار یکی از خواص ویژگی است.

سایر خواص عبارتنداز: بی‌شمار بودن یا (enumerable) بودن، قابل تنظیم (configurable) بودن و نوشتنی (writable) بودن.

این خواص، شیوه دسترسی به ویژگی را تعیین می‌کنند. (آیا خواندنی است؟ آیا نوشتنی است؟)

در جاوا اسکریپت، تمامی خواص خواندنی هستند. اما فقط مقدار خاصیت است که می‌تواند تغییر کند (و این امر هم در صورتی است که خاصیت نوشتنی (writable) باشد)

(نسخه ECMAScript 5 متدهایی هم برای دریافت و هم برای تنظیم تمامی خواص ویژگی‌ها را داراست)

شکل اصلی ویژگی ها

اشیاء در جاوا اسکریپت ویژگی‌های شکل اصلی خود را به ارث می‌برند.

کلمه کلیدی delete ویژگی‌های به ارث برده شده راحذف نمی‌کند، امااگر شما شکل اصلی یک ویژگی را حذف کنید، این امر روی تمامی اشیائی که ویژگی‌ها از آن شکل اصلی ارث بری شده‌است، تأثیر می‌گذارد.


منابع آموزشی