با عرض سلام خدمت کاربران محترم سایت پی وی لرن.
در این جلسه قصد داریم تا با موضوع پروتوتایپ Prototype در جاوا اسکریپت JavaScript و اضافه کردن خواص و اشیا در جاوا اسکریپت آشنا شویم.
تمام اشیا جاوا اسکریپت خواص و متد های خود را از یک prototype (نمونه اولیه) ارث می برند.
در جلسه قبل به استفاده از توابع سازنده اشاره کردیم:
1 2 3 4 5 6 7 8 | function Person(first, last, age, eyecolor) { this.firstName = first; this.lastName = last; this.age = age; this.eyeColor = eyecolor; } var myFather = new Person("John", "Doe", 50, "blue"); var myMother = new Person("Sally", "Rally", 48, "green"); |
همچنین دریافتیم که نمی توان یک خاصیت یا تابع جدید را به سازنده موجود اضافه کرد:
1 | Person.nationality = "English"; |
و برای اضافه کردن خواص و متد های جدید باید آن ها را در تابع سازنده تعریف کنیم:
1 2 3 4 5 6 7 | function Person(first, last, age, eyecolor) { this.firstName = first; this.lastName = last; this.age = age; this.eyeColor = eyecolor; this.nationality = "English"; } |
همانطور که گفتیم تمام اشیا جاوا اسکریپت خواص و متد هایشان را از یک پروتوتایپ ارث بری می کنند.
شی Date از Date.prototype ارث بری می کند.
شی Array از Array.prototype ارث بری می کند.
شی Person از Person.prototype ارث بری می کند.
Object.prototype در بالای این زنجیره قرار دارد . تمام اشیا Date,Array و اشیایی که خودمان تعریف کردیم از این prototype ارث بری می کنند.
گاهی اوقات لازم است تا خواص و متد های جدیدی را به تمامی اشیا موجود از یک نوع یا یک سازنده اضافه کرد.
استفاده از خاصیت prototype این امکان را به شما می دهد تا بتوانید خواص و متد های جدیدی را به یک سازنده شی اضافه کنید.
مثال:
1 2 3 4 5 6 7 | function Person(first, last, age, eyecolor) { this.firstName = first; this.lastName = last; this.age = age; this.eyeColor = eyecolor; } Person.prototype.nationality = "English"; |
مثال اضافه کردن متد به سازنده ی آبجکت یا همان طرح کلی شیء:
1 2 3 4 5 6 7 8 9 | function Person(first, last, age, eyecolor) { this.firstName = first; this.lastName = last; this.age = age; this.eyeColor = eyecolor; } Person.prototype.name = function() { return this.firstName + " " + this.lastName; }; |
نکته: همیشه prototype اشیایی که خودتان آن ها را ایجاد کرده اید را تغییر دهید و prototype های اشیا استاندارد جاوا اسکریپت را تغییر ندهید.
جلسه آموزش پروتوتایپ Prototype در جاوا اسکریپت JavaScript نیز به پایان رسید.
در جلسات بعدی به آموزش توابع در جاوا اسکریپت خواهیم پرداخت. با ما همراه باشید.
همچنین می توانید نظرات و سوالات خود را از طریق بخش نطرات سایت با ما در میان بگذارید.
فرزین
سلام
تشکر از پست ها و آموزش های خوبتون