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