تابستون داره تموم میشه ها، فرصت‌ها محدودن کلی آفر جذاب در کمپین تابستون🔥👇
۰ ثانیه
۰ دقیقه
۰ ساعت
۱ نوید پولادی
constructor function
جامعه جاوا اسکریپت ایجاد شده در ۰۲ مرداد ۱۴۰۱

کانستراکتور چیه؟

تفاوتش با فانکشن چیه؟

بعضی جاها میگید فاکشن بعضی جاها میگید کانستراکتور ولی توضیح ندادید کانستراکتور چیه

فرض کنید یک متد داریم به اسم user به این شکل

function user(){
   this.name="Ali",
   this.family="Razavi"
}

مقادیر name , family رو من به صورت هارد کد نوشتم داخل ابجکتم و حالا اگر بخام یک ابجکت شبیه همین داشته باشم با اسم نوید و فامیلی پولادی باید بیام دوباره اینکار کنم به نظرتون ؟

function user1(){
   this.name="navid",
   this.family="pooladi"
}

خب این قانون DRY رو زیر سوال میبره برای داینامیک کردن ما میایم از متد‌های سازنده استفاده میکنیم به این شکل که اینجا اومدیم موقعه ساخت شی از تابع مون ورودی بهش دادیم که بتونیم یک نمونه از متد user داشته باشیم اما با مقادیر متفاوت که به کمک متد سازنده این عمل دست پیدا میکنه

function user(name,family){
   this.name=name;
   this.family=family;
}
const user1=new User('Ali','Razavi')
const user2=new User('navid','pooladi')

constructor function داخل جی اس یک راه سنتی بوده برای داشتن کلاس‌ها تو جاوا اسکریپت بوده که از وقتی کلاس‌ها اومدن دیگه ازش کمتر استفاده میشه



بهترین پاسخ
علی رضوی ۰۳ مرداد ۱۴۰۱، ۱۲:۱۹