Obyekt ta’riflari
JavaScript obyektlarini aniqlash usullari
- Object literalidan foydalanish
newkalit so‘zidan foydalanish- Object konstruktoridan foydalanish
Object.assign()dan foydalanishObject.create()dan foydalanishObject.fromEntries()dan foydalanish
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:
| Turi | Namuna qiymat |
|---|---|
string | "Hello" |
number | 3.14 |
boolean | rost |
bigint | 12345678901234n |
null | null |
undefined | Aniqlanmagan |
symbol | Belgi |
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.
| Qiymat | Turi | Comment |
|---|---|---|
| "Hello" | ip | "Hello" har doim "Hello" bo‘lib qoladi |
| 3.14 | raqam | 3.14 har doim 3.14 bo‘lib qoladi |
| true | mantiqiy | true har doim true bo‘lib qoladi |
| false | mantiqiy | false har doim false bo‘lib qoladi |
| null | null | null har doim null bo‘lib qoladi |
| undefined | Aniqlanmagan | undefined 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!
