Skip to content

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

js
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

js
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

js
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:

js
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:

js
Person.prototype.nationality = "Uzbek";

Konstruktor Funksiya Metodlari

Konstruktor funksiyasi ichida metodlarni ham aniqlash mumkin:

Misol

js
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 new kalit so'zi ishlatiladi.
  • Konstruktorga yangi xususiyat yoki metod qo'shish uchun prototype ishlatiladi.