آموزشگاه برنامه نویسی تحلیل داده
آموزشگاه برنامه نویسی تحلیل داده

آموزش خواص اشیا در جاوا اسکریپت-object properties

دوره های مرتبط با این مقاله

خواص اشیا جاوا اسکریپت (object properties)

خواص یا به انگلیسی همان properties مهمترین بخش یک شی محسوب می شوند.
خواص (properties) مقادیری متصل /مرتبط با شی جاوا اسکریپت می باشند.
یک شی عبارتند از مجموعه ای نامرتب از خاصیت ها.
خواص را اغلب می توان اصلاح کرد، اضافه کرد و حتی در صورت نیاز آن ها حذف کرد. اما چنانچه property مورد نظر از نوع readonly (فقط خواندنی و ثابت) بود، دیگر امکان دستکاری آن وجود ندارد.
دسترسی به خواص جاوا اسکریپت
دستور نگارشی (syntax) مورد نیاز برای دسترسی به خاصیت یک شی به ترتیب زیر می باشد:

                        objectName.property          // person.age

یا

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

و یا

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

حلقه ی for...in

دستور for...in برای حرکت (تکرار) در درون اعضای يک آرايه يا مجموعه property های يک object استفاده می شود.

ساختار نگارشی:

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

قطعه کد (code block) درون حلقه ی for...in در حقیقت یکبار به ازای هر یک از خاصیت های شی مورد نظر اجرا می شود یا به عبارتی به ازای خواندن هریک از property های شی، يکبار دستورات درون حلقه اجرا می گردد.

مثال:
var person = {fname:"John", lname:"Doe", age:25}; 
for (x in person) { 
    txt += person[x]; 
}

افزودن property های جدید

می توان با تخصیص یک مقدار جدید به شی موجود، خاصیت های جدید به آن اضافه کنید.
فرض بگیرید که شی person از پیش موجود می باشد – حال می خواهید خواص جدید به آن اضافه کنید:

                        person.nationality = "English";

توجه داشته باشید که نمی توان از کلمات رزرو شده به عنوان اسم برای خاصیت یا متد بهره جست. در این زمینه باید از قواعد و دستورالعمل های زبان جاوا اسکریپت پیروی کرد.

حذف کردن خواص

به وسیله ی کلیدواژه ی delete می توان یکی از property های شی مد نظر را پاک کرد.

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

لازم به ذکر است که کلیدواژه ی مزبور نه تنها مقدار property بلکه خود آن را نیز حذف می کند.
پس از حذف، برای استفاده ی مجدد از property پاک شده، لازم است (پیش از اینکه بتوان خاصیت را مورد استفاده قرار داد) آن را دوباره به شی اضافه کنید.
عملگر delete برای کار با خواص شی (حذف آن ها) طراحی شده است و هیچ تاثیری بر روی متغیرها و توابع ندارد.
توجه داشته باشید که نباید عملگر delete را بر روی خاصیت های از پیش تعریف شده ی شی جاوا اسکریپت بکار برد. این کار ممکن است منجر به از کار افتادن یا خرابی برنامه (application) شما شود.

Property attribute (خصیصه های property)

کلیه ی خاصیت ها (property) علاوه بر اسم، دارای یک مقدار هستند.
مقدار در واقع یکی از خصیصه های property حساب می شود.
خصیصه های دیگری نیز وجود دارند. این خصیصه ها عبارتند از: enumerable، configurableو همچنین writable.
خصیصه های ذکر شده نحوه ی دسترسی به خاصیت های یک شی را تعریف می کنند (برای مثال آیا فقط قابل خواندن/readable است یا writable و قابل نوشتن).
کلیه ی خصیصه ها در جاوا اسکریپت قابل خواندن هستند، اما تنها خصیصه ی (attribute) value تغییر پذیر بوده و قابل اصلاح می باشد (آن هم فقط در صورتی که خاصیت writable باشد).
پنجمین ویرایش جاوا اسکریپت (ECMAScript 5) توابعی دارد که می توان برای بازیابی (get) و مقداردهی (set) کلیه ی خصیصه های property از آن ها استفاده کرد.
خواص نمونه ی اولیه (prototype properties)
در زبان جاوا اسکریپت، کلیه ی اشیا خاصیت های نمونه ی اولیه (prototype) خود را به ارث می برند.
کلیدواژ ه ی delete خواص به ارث برده شده را حذف نمی کند، اما چنانچه به هر دلیلی خاصیت یک نمونه ی اولیه (prototype property) را پاک کردید، در آن صورت تمامی اشیا به ارث گرفته شده از نمونه ی اولیه ی مورد نظر تحت تاثیر قرار می گیرند.


مشاهده فیلم آموزشی

کلیه حقوق مادی و معنوی این مقاله متعلق به آموزشگاه تحلیل داده بوده و هر گونه استفاده غیر قانونی از آن پیگرد قانونی دارد.

  • 2660
  •    1154
  • تاریخ ارسال :   1394/08/11

دانلود PDF دانشجویان گرامی اگر این مطلب برای شما مفید بود لطفا ما را در GooglePlus محبوب کنید
رمز عبور: tahlildadeh.com یا www.tahlildadeh.com
ارسال دیدگاه نظرات کاربران
شماره موبایل دیدگاه
عنوان پست الکترونیک

ارسال

آموزشگاه برنامه نویسی تحلیل داده
آموزشگاه برنامه نویسی تحلیل داده

تمامی حقوق این سایت متعلق به آموزشگاه تحلیل داده می باشد .