constructor()
Misol
Car sinfini yarating, so‘ng Car sinfi asosida "mycar" nomli obyekt yarating:
class Car {
constructor(brand) { // Constructor
this.carname = brand;
}
}
mycar = new Car("Ford");
Quyida ko‘proq "O‘zingiz sinab ko‘ring" misollari keltirilgan.
Tavsif
constructor() metodi — sinf ichida yaratilgan obyektlarni yaratish va ularga boshlang‘ich qiymat berish uchun maxsus metod.
constructor() metodi sinfdan nusxa yaratilganda avtomatik chaqiriladi va u aynan "constructor" nomiga ega bo‘lishi shart. Aslida, agar sizda constructor metodi bo‘lmasa, JavaScript ko‘rinmas va bo‘sh constructor metodini qo‘shadi.
Eslatma: Sinfda bittadan ortiq constructor() metodi bo‘lishi mumkin emas. Bu SyntaxError xatosini tashlaydi.
Ota sinf konstruktorini chaqirish uchun super() metodidan foydalanishingiz mumkin (quyidagi "Ko‘proq misollar" bo‘limiga qarang).
Brauzerlarda qo‘llab-quvvatlash
constructor() — ECMAScript6 (ES6 2015) imkoniyati.
JavaScript 2015 2017-yil iyunidan beri barcha brauzerlarda qo‘llab-quvvatlanadi:
| Chrome 51 |
Edge 15 |
Firefox 54 |
Safari 10 |
Opera 38 |
| 2016-yil may | 2017-yil aprel | 2017-yil iyun | 2016-yil sentabr | 2016-yil iyun |
Sintaksis
constructor(parameters)
Texnik tafsilotlar
| JavaScript versiyasi: | ECMAScript 2015 (ES6) |
|---|
Ko‘proq misollar
Sinf vorisligini yaratish uchun extends kalit so‘zidan foydalaning.
Vorislik orqali yaratilgan sinf boshqa sinfning barcha metodlarini meros qilib oladi:
Misol
"Car" sinfidan metodlarni meros qilib oladigan "Model" nomli sinf yarating:
class Car {
constructor(brand) {
this.carname = brand;
}
present() {
return 'I have a ' + this.carname;
}
}
class Model extends Car {
constructor(brand, mod) {
super(brand);
this.model = mod;
}
show() {
return this.present() + ', it is a ' + this.model;
}
}
mycar = new Model("Ford", "Mustang");
document.getElementById("demo").innerHTML = mycar.show();
super() metodi ota sinfga ishora qiladi.
constructor metodida super() metodini chaqirish orqali biz ota sinfning constructor metodini chaqiramiz va ota sinfning xususiyat va metodlaridan foydalanish imkoniyatiga ega bo‘lamiz.
Tegishli sahifalar
JavaScript darsligi: JavaScript sinflari
JavaScript darsligi: JavaScript ES6 (EcmaScript 2015)
JavaScript ma’lumotnomasi: extends kalit so‘zi
JavaScript ma’lumotnomasi: super kalit so‘zi
W3Schools Pathfinder
Yutuqlaringizni kuzating – bu bepul!
