44) ساخت کلاس با Constructor Functions
آموزش رایگان جاوااسکریپت
ساخت کلاس با Constructor Functions
در مقاله قبلی، یاد گرفتیم که چگونه از Factory Functions استفاده کنیم و فواید آن را درک کردیم. مشاهده کردیم که به جای تعریف مکرر یک آبجکت برای ذخیره اطلاعات، میتوانیم یک تابع مادر (یا کلاس) تعریف کنیم و هر زمان که نیاز به ساخت یک آبجکت داریم، آن تابع مادر را صدا بزنیم و مقادیر مورد نظر را ارسال کنیم. اکنون، در این مقاله به بررسی ساخت کلاس با Constructor Functions میپردازیم.
تفاوتهای Factory Functions و Constructor Functions
اولین تفاوت بین این دو نوع تابع، نحوه نامگذاری آنها است. در Factory Functions معمولاً از شیوه camelCase استفاده میکنیم؛ مثلاً personInfo. در این روش، اولین حرف کلمه کوچک است و از کلمه دوم به بعد، حرف اول بزرگ نوشته میشود. اما در Constructor Functions از روش PascalCase استفاده میکنیم؛ یعنی اولین حرف از اولین کلمه نیز بزرگ نوشته میشود.
// camelCase function personInfo(…) {…} // pascalCase function PersonInfo(…) {…}
بررسی تفاوتها در ساختار و سینتکس
تفاوت دوم این است که در Factory Functions آبجکت را داخل return قرار میدهیم، اما در Constructor Functions اینطور نیست. در اینجا، به جای return از کلمه کلیدی this استفاده میشود.
به عنوان مثال:
function PersonInfo(firstname, lastname) { this.firstname = firstname, this.lastname = lastname, this.age = function() { console.log("hello world"); } }
در واقع، this به همان آبجکت اشاره میکند. یعنی firstname داخل این تابع یا آبجکت، مقدارش برابر با firstname است که از کاربر دریافت شده است. برای استفاده از این تابع، کافیست آن را صدا بزنید؛ با این تفاوت که قبل از صدا زدن باید از کلمه کلیدی new استفاده کنید:
var person1 = new PersonInfo("ali", "alinia");
جمعبندی تفاوتها
استفاده از Constructor Functions به همین سادگی است، اما در خروجی، تفاوتی بین تابع Factory و Constructor مشاهده نمیشود و هر دو یک خروجی دارند. جاوا اسکریپت چندین روش برای کدنویسی ارائه میدهد تا شما با روشی که راحتتر هستید، کار کنید.
در نهایت، هر دو نوع تابع را در دو مقاله جداگانه بررسی کردیم و دیدیم که از نظر خروجی هیچ تفاوتی ندارند، بلکه تنها از نظر سینتکسی متفاوت هستند. Constructor Functions با PascalCase نامگذاری میشوند، در حالی که Factory Functions با camelCase. در Factory Functions از return برای برگشت دادن آبجکت استفاده میکنیم، در حالی که در Constructor Functions از this استفاده میشود. همچنین، برای استفاده از Constructor Functions از کلمه کلیدی new استفاده میکنیم.
پایان مقاله
این مقاله نیز به پایان رسید. امیدوارم برای شما مفید بوده باشد. با ما در مقالات بعدی همراه باشید. موفق باشید!
برای مشاهده لینک دانلود لطفا وارد حساب کاربری خود شوید!
وارد شویدپسورد فایل : ندارد گزارش خرابی لینک
دیدگاهتان را بنویسید
برای نوشتن دیدگاه باید وارد بشوید.