Skip to content

JavaScript Obyekt Ta'riflari

JavaScript-da obyektlarni yaratish va aniqlashning bir necha xil usullari mavjud.

Obyektlarni aniqlash usullari

  • Obyekt literali yordamida
  • new kalit so'zi yordamida
  • Obyekt konstruktori orqali
  • Object.assign() yordamida
  • Object.create() yordamida
  • Object.fromEntries() yordamida

Obyekt literali (Object Literal) yordamida

Obyekt literali — bu jingalak qavslar { } ichida yozilgan xususiyatlar (property) key:value juftliklari ro'yxatidir.

Misol

js
// Obyekt yaratish
const person = {
  firstName: 'John',
  lastName: 'Doe',
  age: 50,
  eyeColor: 'blue'
}

"new" kalit so'zi yordamida

Siz JavaScript-ning o'rnatilgan Object() konstruktori orqali ham obyekt yaratishingiz mumkin.

Misol

js
// Obyekt yaratish
const person = new Object({
  firstName: 'John',
  lastName: 'Doe',
  age: 50,
  eyeColor: 'blue'
})

Eslatma:

Yuqoridagi ikkala misol ham bir xil natija beradi. Lekin new Object() dan foydalanishga ehtiyoj yo'q. O'qishga qulaylik, soddalik va bajarilish tezligi uchun obyekt literali usulidan foydalaning.


Object.create() metodi

Object.create() metodi mavjud obyektni prototip sifatida ishlatib, yangi obyekt yaratadi.

Misol

js
// Asosiy obyekt:
const person = {
  firstName: 'John',
  lastName: 'Doe'
}

// Yangi obyekt yaratish
const man = Object.create(person)
man.firstName = 'Peter'

Object.fromEntries() metodi

Object.fromEntries() metodi kalit/qiymat juftliklaridan iborat massivni (yoki boshqa iterable-ni) obyektga aylantiradi.

Misol

js
const fruits = [
  ['apples', 300],
  ['pears', 900],
  ['bananas', 500]
]

const myObj = Object.fromEntries(fruits)
// Natija: {apples: 300, pears: 900, bananas: 500}

Object.assign() metodi

Object.assign() metodi bir yoki bir nechta manba obyektlaridan xususiyatlarni nishon (target) obyektga nusxalaydi.

Misol

js
const person1 = {
  firstName: 'John',
  lastName: 'Doe'
}

const person2 = { age: 30, city: 'New York' }

Object.assign(person1, person2) // person1-ga person2 xususiyatlari qo'shiladi

JavaScript-da Obyektlar — "Qirol"

Agar siz obyektlarni tushunsangiz, siz JavaScript-ni tushunasiz.

JavaScript-da deyarli "hamma narsa" obyektdir:

  • Funksiyalar — obyektlar
  • Massivlar — obyektlar
  • Sanalar (Dates) — obyektlar
  • Matematika (Math) — obyektlar
  • Map va Set — obyektlar

Faqatgina primitivlar (string, number, boolean, null, undefined, symbol, bigint) obyekt hisoblanmaydi.


Obyektlarning o'zgaruvchanligi (Mutability)

Obyektlar mutable (o'zgaruvchan) hisoblanadi: ular qiymat bo'yicha emas, havola (reference) bo'yicha murojaat qilinadi.

Agar person obyekt bo'lsa, quyidagi kod uning nusxasini yaratmaydi:

js
const x = person

x o'zgaruvchisi person-ning nusxasi emas, balki uning o'zidir. Ikkalasi ham xotiradagi bir xil manzilga ishora qiladi. x-da qilingan har qanday o'zgarish person-ga ham ta'sir qiladi.

Misol

js
const person = { firstName: 'Ali', age: 25 }

const x = person // Havola yuborildi

x.age = 10 // Bu person.age-ni ham 10 ga o'zgartiradi