JavaScript үндэс / Объект

Объект

Объект бол олон утгыг нэг нэрийн дор хадгалах арга юм. Жишээ нь хүний мэдээллийг хадгалах гэвэл нэр, нас, хот гэсэн гурван тусдаа хувьсагч үүсгэхийн оронд нэг объектод бүгдийг нь цуглуулж болно.

Объект үүсгэх

Объектыг {} хаалтаар үүсгэнэ. Дотор нь key: value хосууд байна — key нь шинж чанарын нэр, value нь утга.

javascript
const хүн = {
  нэр: "Болд",
  нас: 25,
  хот: "Улаанбаатар",
};

Дээрх объектод нэр, нас, хот гэсэн гурван шинж чанар (property) байна. Утга нь текст, тоо, boolean, массив, өөр объект — ямар ч төрөл байж болно.

javascript
const бүтээгдэхүүн = {
  нэр: "Утас",
  үнэ: 450000,
  байгаа: true,
  өнгөнүүд: ["цагаан", "хар", "цэнхэр"],
};

Шинж чанарт хандах

Объектын утгад хандах хоёр арга байна.

Цэгийн тэмдэглэгээ (dot notation) — хамгийн түгээмэл арга:

javascript
const хүн = {
  нэр: "Болд",
  нас: 25,
};

console.log(хүн.нэр); // Болд
console.log(хүн.нас); // 25

Хаалтын тэмдэглэгээ (bracket notation) — key нь хувьсагчид байгаа үед хэрэгтэй:

javascript
const шинж = "нэр";
console.log(хүн[шинж]); // Болд

Утга өөрчлөх ба шинэ шинж нэмэх

const-ээр зарласан объектын шинж чанарыг өөрчилж болно — объектын дотоод утгыг өөрчилж байгаа болохоос объектыг өөрийг нь солихгүй.

javascript
const хүн = {
  нэр: "Болд",
  нас: 25,
};

// Утга өөрчлөх
хүн.нас = 26;
console.log(хүн.нас); // 26

// Шинэ шинж нэмэх
хүн.мэргэжил = "Программист";
console.log(хүн.мэргэжил); // Программист

Шинж чанар устгах

delete командаар объектоос шинж чанарыг устгаж болно.

javascript
const хүн = {
  нэр: "Болд",
  нас: 25,
  түр: "устгана",
};

delete хүн.түр;
console.log(хүн); // { нэр: "Болд", нас: 25 }

Объект доторх объект

Объект өөр объектыг утга болгон агуулж болно. Үүнийг nested object гэнэ.

javascript
const сурагч = {
  нэр: "Нарантуяа",
  хаяг: {
    хот: "Улаанбаатар",
    дүүрэг: "Сүхбаатар",
  },
};

console.log(сурагч.хаяг.хот); // Улаанбаатар
console.log(сурагч.хаяг.дүүрэг); // Сүхбаатар

for...in давталт

Объектын бүх key-г дамжих for...in давталтыг ашиглаж болно.

javascript
const хүн = {
  нэр: "Болд",
  нас: 25,
  хот: "Улаанбаатар",
};

for (const key in хүн) {
  console.log(key + ": " + хүн[key]);
}
// нэр: Болд
// нас: 25
// хот: Улаанбаатар

Дараагийн хичээлд:

Объектод ашигладаг Object.keys(), Object.values(), Object.entries() зэрэг бэлэн методуудыг үзнэ. Эдгээр нь өгөгдөлтэй ажиллахад маш их хэрэгтэй болно.