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

از ویکی کد
پرش به ناوبری پرش به جستجو
دورهٔ آموزشی جاوااسکریپت
Javascript.jpg
Forms
۱JavaScript:فرم‌ها در جاوااسکریپت
۲JavaScript:API ارزشیابی در جاوااسکریپت
Objects
۱JavaScript:اشیاء در جاوااسکریپت
۲JavaScript:ویژگی‌های اشیاء در جاوااسکریپت
۳JavaScript:متدهای اشیاء در جاوااسکریپت
۴JavaScript:روش‌های دسترسی به شیء در جاوااسکریپت
۵JavaScript:سازنده‌های شیء در جاوااسکریپت
۶JavaScript:شکل اصلی شیء در جاوااسکریپت
۷JavaScript:متدهای شیء در ورژن ES5 جاوااسکریپت
Functions
۱JavaScript:تعریف تابع در جاوااسکریپت
۲JavaScript:پارامتر توابع در جاوااسکریپت
۳JavaScript:فراخوانی تابع در جاوااسکریپت
۴JavaScript:صدا کردن تابع در جاوااسکریپت
۵JavaScript:تابع Apply در جاوااسکریپت
۶JavaScript:بسته‌ها (به انگلیسی: Closures) در جاوااسکریپت
---

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

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

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

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

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

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

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

objectName.property  // person.age

یا

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

یا

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


مثال ۱

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

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

مثال

var person = {fname:"John", lname:"Doe", age:25};

for (x in person) {
txt += person[x];
}

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

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

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

مثال

person.nationality = "English";

حذف ویژگی‌ها

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

مثال

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

منابع آموزشی