Obyekt ta’riflari

JavaScript obyektlarini aniqlash usullari

  • Object literalidan foydalanish
  • new kalit so‘zidan foydalanish
  • Object konstruktoridan foydalanish
  • Object.assign() dan foydalanish
  • Object.create() dan foydalanish
  • Object.fromEntries() dan foydalanish

ULASHISH

Object literalidan foydalanish

Obyekt literal - jingalak qavslar ichidagi kalit: qiymatlar xossalari ro‘yxati { }.

{firstName:"John", lastName:"Doe", age:50, eyeColor:"blue"};

Misol

// Create an Object
const person = {
  firstName: "John",
  lastName: "Doe",
  age: 50,
  eyeColor: "blue"
};
O‘zingiz sinab ko‘ring »

Yangi kalit so‘zdan foydalanish

Misol

// Create an Object
const person = new Object({
  firstName: "John",
  lastName: "Doe",
  age: 50,
  eyeColor: "blue"
});
O‘zingiz sinab ko‘ring »

Yuqoridagi misollar xuddi shunday qiladi.

Biroq new Object()’dan foydalanishning hojati yo‘q.

O‘qilishi, soddaligi va bajarilish tezligi uchun obyektning literal usulidan foydalaning.

Nom qiymati juftlari sifatida yozilgan obyektlar quyidagilarga o‘xshaydi:

  • PHP’dagi assotsiativ massivlar
  • Python’dagi lug‘atlar (dictionaries)
  • C’dagi xesh-jadvallar (hash tables)
  • Java’dagi xesh-xaritalar (hash maps)
  • Ruby va Perl’dagi xeshlar


JavaScript Object.create() metodi

Object.create() usuli mavjud obyektdan obyekt yaratadi.

Misol

// Create an Object:
const person = {
  firstName: "John",
  lastName: "Doe"
};

// Create new Object
const man = Object.create(person);
man.firstName = "Peter";
O‘zingiz sinab ko‘ring »

JavaScript Object fromEntries() metodi

ES2019 JavaScript’ga fromEntries() Object metodini qo‘shdi.

fromEntries() usuli takrorlanadigan kalit/qiymat juftlaridan obyekt yaratadi.

Misol

const fruits = [
["apples", 300],
["pears", 900],
["bananas", 500]
];

const myObj = Object.fromEntries(fruits);
O‘zingiz sinab ko‘ring »

Brauzerlarda qo‘llab-quvvatlash

fromEntries() — ECMAScript 2019 imkoniyati.

ES2019 2020-yil yanvar oyidan boshlab barcha zamonaviy brauzerlarda qo‘llab-quvvatlanadi:

Chrome
66
Edge
79
Firefox
61
Safari
12
Opera
50
Apr 2018 Jan 2020 Jun 2018 Sep 2018 May 2018

JavaScript Object.assign() metodi

Object.assign() usuli xususiyatlardan nusxa oladi maqsadli obyektga bir yoki bir nechta manba obyektlari.

Misol

// Create Target Object
const person1 = {
  firstName: "John",
  lastName: "Doe",
  age: 50,
  eyeColor: "blue"
};

// Create Source Object
const person2 = {firstName: "Anne",lastName: "Smith"};

// Assign Source to Target
Object.assign(person1, person2);
O‘zingiz sinab ko‘ring »

JavaScript-da obyektlar qiroldir.

Obyektlarni tushunsangiz, JavaScript’ni tushunasiz.

JavaScript-da deyarli "hamma narsa" obyektdir.

  • Obyektlar obyektlardir
  • Math ham obyektdir
  • Funksiyalar — obyektlar
  • Sanalar obyektlardir
  • Arraylar Object hisoblanadi
  • Map’lar obyektlardir
  • To‘plamlar obyektlardir

Primitivlardan tashqari barcha JavaScript qiymatlari obyektlardir.


JavaScript primitivlari

Primitiv ma’lumotlar turi - bu faqat bitta ibtidoiy qiymatni saqlashi mumkin bo‘lgan ma’lumotlar turi.

JavaScript primitiv ma’lumotlarning 7 ta tipini belgilaydi:

TuriNamuna qiymat
string"Hello"
number3.14
booleanrost
bigint12345678901234n
nullnull
undefinedAniqlanmagan
symbolBelgi

Immutable

Primitiv qiymatlar o‘zgarmasdir (ular qat’iy belgilangan va ularni o‘zgartirib bo‘lmaydi).

agar x = 3.14 bo‘lsa, siz x qiymatini o‘zgartirishingiz mumkin, lekin siz 3.14 qiymatini o‘zgartira olmaysiz.

QiymatTuriComment
"Hello"ip"Hello" har doim "Hello" bo‘lib qoladi
3.14raqam3.14 har doim 3.14 bo‘lib qoladi
truemantiqiytrue har doim true bo‘lib qoladi
falsemantiqiyfalse har doim false bo‘lib qoladi
nullnullnull har doim null bo‘lib qoladi
undefinedAniqlanmaganundefined har doim undefined bo‘lib qoladi

JavaScript obyektlari o‘zgaruvchan

Obyektlar o‘zgaruvchan: ular qiymat bo‘yicha emas, balki mos yozuvlar bo‘yicha murojaat qilinadi.

Agar shaxs obyekt bo‘lsa, quyidagi operator shaxsning nusxasini yaratmaydi:

const x = person;

X obyekti shaxsning nusxasi emas. X obyekti shaxsdir.

X obyekti va obyekt shaxsi bir xil xotira manziliga ega.

X ga kiritilgan har qanday o‘zgarishlar shaxsni ham o‘zgartiradi:

Misol

//Create an Object
const person = {
  firstName:"John",
  lastName:"Doe",
  age:50, eyeColor:"blue"
}

// Try to create a copy
const x = person;

// This will change age in person:
x.age = 10;
O‘zingiz sinab ko‘ring »

W3Schools Pathfinder

Yutuqlaringizni kuzating – bu bepul!