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

از ویکی کد
پرش به ناوبری پرش به جستجو
Main Page Tutorial
JavaScript-menu.png
موارد آموزشی
فرم‌ها در جاوا اسکریپت
اشیاء در جاوا اسکریپت
۱تعریف شیء
۲ویژگی‌های اشیاء
۳متدهای اشیاء
۴روش‌های دسترسی به شیء
۵سازنده‌های شیء
۶شکل اصلی شیء
۷متدهای شیء در نسخهٔ ES5
تابع در جاوا اسکریپت
HTML DOM در جاوا اسکریپت
Browser BOM در جاوا اسکریپت
AJAX در جاوا اسکریپت
JSON در جاوا اسکریپت
جی‌کوئری در برابر جاوا اسکریپت
مثال‌های جاوا اسکریپت
مرجع جاوا اسکریپت

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

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

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

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

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

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

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

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قرار می‌گیرد برای هر ویژگی اجرا خواهد شد.

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

مثال

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

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

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

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

مثال

person.nationality = "English";

حذف ویژگی ها

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

مثال

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


منابع آموزشی