شکل اصلی شیء در جاوا اسکریپت

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

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

در فصل قبلی ما یادگرفتیم که چگونه از یک سازنده شیء استفاده کنیم:

مثال

1 function Person(first, last, age, eyecolor) {
2   this.firstName = first;
3   this.lastName = last;
4   this.age = age;
5   this.eyeColor = eyecolor;
6 }
7 
8 var myFather = new Person("John", "Doe", 50, "blue");
9 var myMother = new Person("Sally", "Rally", 48, "green");

ما همچنین یادگرفتیم که شما نباید یک ویژگی جدید به متد سازنده‌ی یک شیء که از قبل وجود دارد اضافه کنید:

مثال

Person.nationality = "English";

برای اضافه کردن یک شیء جدید به یک سازنده، شما ابتدا می‌بایست تابع سازنده را اضافه کنید:

مثال

1 function Person(first, last, age, eyecolor) {
2   this.firstName = first;
3   this.lastName = last;
4   this.age = age;
5   this.eyeColor = eyecolor;
6   this.nationality = "English";
7 }

ارث بری مدل یا شکل اصلی

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

  • شیء date از Date.prototype ارث‌بری می‌کند.
  • شیء Array از Array.prototype ارث‌بری می‌کند.
  • شیء Person از Person.prototype ارث‌بری می‌کند.

Object.prototype در بالاترین نقطه زنجیر ارث‌بری شکل یا مدل اصلی قرار دارد:

شیء Date، شیء Array، و شیء Person از Object.prototyoe ارث‌بری می‌کنند.

اضافه کردن ویژگی ها و متدها به اشیاء

گاهی اوقات شما می‌خواهید یک ویژگی‌های (و یا متدهای) جدیدی را به تمامی اشیائی از یک نوع اضافه کنید.

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

استفاده از ویژگی prototype

ویژگی prototype به شما این اجازه را می‌دهد که به سازنده شیء ویژگی‌های جدیدی را اضافه کنید:

مثال

1 function Person(first, last, age, eyecolor) {
2   this.firstName = first;
3   this.lastName = last;
4   this.age = age;
5   this.eyeColor = eyecolor;
6 }
7 
8 Person.prototype.nationality = "English";

ویژگی prototype همچنین به شما این اجازه را می‌دهد که متدهای جدیدی را در سازنده اشیاء اضافه کنید:

مثال

 1 function Person(first, last, age, eyecolor) {
 2   this.firstName = first;
 3   this.lastName = last;
 4   this.age = age;
 5   this.eyeColor = eyecolor;
 6 }
 7 
 8 Person.prototype.name = function() {
 9   return this.firstName + " " + this.lastName;
10 };

فقط prototypeهای مربوط به خود را ویرایش کنید. هیچ وقت prototyoeهای اشیاء استاندارد در جاوا اسکریپت را ویرایش نکنید.


منابع آموزشی