متد constructor - آزمون آنلاین جاوااسکریپت
این آزمون در مورد متد constructor در زبان برنامه نویسی جاوااسکریپت هست که قراره دانش تو رو توی این زمینه به چالش بکشه.
متد constructor: ساخت شیء در جاوااسکریپت
وقتی میخوای توی جاوااسکریپت یه شیء جدید از روی یک کلاس بسازی، این متد constructor هست که وارد عمل میشه. کار اصلی این متد، مقداردهی اولیه به ویژگیهای (properties) اون شیء هست.
مثل اینکه داری یه خونه جدید میسازی و این متد مسئول گذاشتن فونداسیون، دیوارها و بقیه چیزای اولیه است. اگه توی کلاس هیچ constructor ی رو تعریف نکنی، جاوااسکریپت خودش به صورت پیشفرض یه constructor خالی برات میسازه.

نکات کلیدی که باید در مورد متد constructor بدونی
وقتی با این متد کار میکنی، بهتره این نکات رو توی ذهنت داشته باشی. اینها میتونن حسابی کمکت کنن تا کدهای تمیزتر و بهتری بنویسی.
- یک کلاس، یک سازنده: هر کلاس توی جاوااسکریپت فقط میتونه یک متد constructor داشته باشه. اگه دو تا تعریف کنی، جاوااسکریپت خطا میده.
- فراخوانی خودکار: این متد به صورت خودکار هر وقت که با کلمه کلیدی
newیه شیء جدید میسازی، فراخوانی میشه. - مقداردهی اولیه: از این متد برای مقداردهی اولیه به خصوصیات (properties) شیء استفاده میشه. مثلاً اگه یک کلاس
Personداری، توی constructor میتونی اسم و سن رو بهش بدی.
چند نمونه کاربردی از متد constructor
برای اینکه بهتر متوجه بشی، بیا چند تا مثال رو با هم ببینیم. این مثالها نشون میدن که چطور میتونی توی موقعیتهای مختلف از constructor استفاده کنی.
// مثال اول: ساخت یک کلاس ساده
class Car {
constructor(brand) {
this.carname = brand;
}
}
const myCar = new Car("Ford");
// در اینجا، "Ford" به عنوان brand به constructor ارسال میشه.
اینجا، وقتی شیء myCar رو میسازی، constructor فراخوانی میشه و ویژگی carname با مقدار "Ford" مقداردهی میشه.
// مثال دوم: استفاده از constructor با چندین پارامتر
class Person {
constructor(name, age) {
this.name = name;
this.age = age;
}
}
const person1 = new Person("Ali", 30);
const person2 = new Person("Sara", 25);
میبینی که چقدر راحت میتونی با استفاده از constructor چندین شیء با ویژگیهای متفاوت بسازی؟ این کار، کدنویسی رو خیلی منعطفتر و سادهتر میکنه.
مفاهیم constructor و inheritance
حالا که با این متد آشنا شدی، بهتره بدونی که توی مبحث وراثت (inheritance) هم نقش مهمی داره. وقتی یک کلاس از کلاس دیگه به ارث میبره، برای فراخوانی constructor کلاس والد باید از کلمه کلیدی super() استفاده کنی.
// یک مثال از وراثت
class Animal {
constructor(name) {
this.name = name;
}
}
class Dog extends Animal {
constructor(name, breed) {
super(name); // فراخوانی constructor کلاس والد
this.breed = breed;
}
}
const dog1 = new Dog("Max", "German Shepherd");
در این مثال، super(name) به constructor کلاس Animal میگه که ویژگی name رو مقداردهی کنه و بعدش constructor کلاس Dog ویژگی breed رو بهش اضافه میکنه.
سنجش مهارت و اطلاعات
با شرکت در این کوییز، میتونی میزان مهارت و تسلط خودت رو در مورد متد constructor بسنجی و همزمان اطلاعات خوبی رو توی این زمینه به دست بیاری.
سوالات این آزمون در مورد متد constructor در جاوااسکریپت هستن. برای مثال، چند تا از سوالات میتونن درباره این باشن که "چرا یک کلاس فقط میتونه یک سازنده داشته باشه؟" یا "چه تفاوتی بین متد سازنده و یک متد معمولی وجود داره؟".
با شرکت توی این آزمون، به این سوالها و کلی سوال دیگه جواب میدی و میفهمی که چقدر توی این مبحث مسلط هستی.
مفاهیم کلیدی متد constructor در یک نگاه
| مفهوم | توضیح | مثال |
|---|---|---|
| کاربرد | مقداردهی اولیه به ویژگیهای شیء | this.name = name; |
| تعداد | فقط یک constructor در هر کلاس | class A { constructor() {} } |
| فراخوانی | با کلمه کلیدی new |
new MyClass(); |
| وراثت | با کلمه کلیدی super() |
super(name); |
آمادهای؟
حالا که با این اطلاعات آشنا شدی، وقتشه که خودت رو بسنجی. آمادهای تا ببینی چقدر به این مفاهیم مسلطی؟ فقط کافیه روی 'دکمه شروع' کلیک کنی و وارد دنیای سوالات جاوااسکریپت بشی.