JavaScript Obyekt Konstruktorlari (Object Constructors)
Ba'zan bir xil turdagi ko'plab obyektlarni yaratishimiz kerak bo'ladi. Buning uchun obyekt konstruktor funksiyalaridan foydalaniladi.
Maslahat
Konstruktor funksiyalarining nomini katta harf bilan boshlash yaxshi amaliyot hisoblanadi (masalan, Person).
Obyekt Konstruktor Funksiyasi
Konstruktor funksiyasi — bu yangi obyektlarni yaratish uchun qolip (shablon).
Misol
function Person(first, last, age, eye) {
this.firstName = first;
this.lastName = last;
this.age = age;
this.eyeColor = eye;
}::: internal-note Konstruktor funksiyasi ichida this kalit so'zining qiymati yo'q. this qiymati yangi obyekt yaratilganda aynan shu yangi obyektga aylanadi. :::
Obyektlarni Yaratish (new)
Endi biz new Person() yordamida ko'plab yangi Person obyektlarini yaratishimiz mumkin:
Misol
const myFather = new Person("John", "Doe", 50, "blue");
const myMother = new Person("Sally", "Rally", 48, "green");Xususiyatlarga Standart Qiymatlar Berish
Konstruktor ichida xususiyatlarga oldindan belgilangan (default) qiymatlarni ham biriktirish mumkin:
Misol
function Person(first, last, age, eye) {
this.firstName = first;
this.lastName = last;
this.age = age;
this.eyeColor = eye;
this.nationality = "English"; // barcha yangi person'lar uchun ingliz millati biriktiriladi
}Obyektga Xususiyat Qo'shish
Yaratilgan obyektga yangi xususiyat qo'shish juda oson:
myFather.nationality = "Uzbek";Eslatma: Bu yangi xususiyat faqat myFather obyektiga qo'shiladi, boshqa Person obyektlariga emas.
Konstruktorga Xususiyat Qo'shish
Siz obyekt konstruktorining o'ziga yangi xususiyatni shunchaki qo'sha olmaysiz. Masalan: Person.nationality = "Uzbek" ishlamaydi.
Yangi xususiyatni konstruktorga qo'shish uchun siz uni yo konstruktor kodiga qo'shishingiz kerak, yoki prototype dan foydalanishingiz kerak:
Person.prototype.nationality = "Uzbek";Konstruktor Funksiya Metodlari
Konstruktor funksiyasi ichida metodlarni ham aniqlash mumkin:
Misol
function Person(first, last, age, eye) {
this.firstName = first;
this.lastName = last;
this.fullName = function() {
return this.firstName + " " + this.lastName;
};
}O'rnatilgan JavaScript Konstruktorlari
JavaScript-da barcha standart obyektlar uchun o'rnatilgan konstruktorlar mavjud:
new Object()new Array()new Map()new Set()new Date()new RegExp()new Function()
Diqqat!
Har doim quyidagilarni ishlatish tavsiya etiladi:
new Object()o'rniga{}new Array()o'rniga[]new RegExp()o'rniga/()/new Function()o'rniga() {}
Xulosa
- Konstruktor — bu o'xshash obyektlarni yaratish uchun qolip.
- Yangi obyektni yaratishda
newkalit so'zi ishlatiladi. - Konstruktorga yangi xususiyat yoki metod qo'shish uchun
prototypeishlatiladi.
