Задлан авах (Destructuring)
Destructuring бол объект эсвэл массиваас утгыг товч, цэвэрхэн байдлаар задлан авах арга юм. Уртаар бичих хэрэггүй болж, код уншигдахад хялбар болно.
Объект destructuring
Уламжлалт аргаар объектоос утга авах нь тийм ч богино биш:
const хүн = {
нэр: "Болд",
нас: 25,
хот: "Улаанбаатар",
};
// Уламжлалт арга
const нэр = хүн.нэр;
const нас = хүн.нас;
Destructuring ашиглавал нэг мөрд бичиж болно:
const { нэр, нас, хот } = хүн;
console.log(нэр); // Болд
console.log(нас); // 25
console.log(хот); // Улаанбаатар
Хаалтын дотор бичсэн нэрс нь объектын key-тэй таарч байх ёстой.
Өөр нэр өгөх
Задлан авахдаа шинэ нэр (alias) өгч болно. : тэмдгийн дараа шинэ нэрийг бичнэ.
const хүн = { нэр: "Нарантуяа", нас: 22 };
const { нэр: овог, нас: жил } = хүн;
console.log(овог); // Нарантуяа
console.log(жил); // 22
Анхны утга (default value)
Задлан авахдаа шинж чанар байхгүй тохиолдолд ашиглах анхны утгыг тохируулж болно.
const тохиргоо = { хэлний: "mn" };
const { хэлний, харанхуй = false } = тохиргоо;
console.log(хэлний); // mn
console.log(харанхуй); // false ← объектод байхгүй тул анхны утга ашиглагдав
Массив destructuring
Объект шиг массиваас ч задлан авч болно. Гэхдээ {} биш [] ашиглана, мөн нэрсийг дурын болгож болно.
const өнгөнүүд = ["улаан", "ногоон", "цэнхэр"];
const [эхний, хоёр дах, гурав дах] = өнгөнүүд;
console.log(эхний); // улаан
console.log(хоёр дах); // ногоон
console.log(гурав дах); // цэнхэр
Зарим элементийг алгасахдаа тухайн байрыг хоосон үлдээнэ:
const тоонууд = [10, 20, 30, 40];
const [эхний, , гурав дах] = тоонууд;
console.log(эхний); // 10
console.log(гурав дах); // 30
Функцийн параметр дээр destructuring
Функц объект хүлээн авахдаа шууд параметр дотроо задалж болно. Энэ арга нь React компонентод маш өргөн хэрэглэгддэг.
function мэндлэх({ нэр, нас }) {
console.log(`Сайн уу, ${нэр}! Та ${нас} настай байна.`);
}
const хүн = { нэр: "Болд", нас: 25 };
мэндлэх(хүн); // Сайн уу, Болд! Та 25 настай байна.
Nested destructuring
Объект дотор объект байвал дотоод шинж чанарыг ч задалж болно.
const сурагч = {
нэр: "Оюунбаатар",
хаяг: {
хот: "Улаанбаатар",
дүүрэг: "Баянзүрх",
},
};
const {
нэр,
хаяг: { хот, дүүрэг },
} = сурагч;
console.log(нэр); // Оюунбаатар
console.log(хот); // Улаанбаатар
console.log(дүүрэг); // Баянзүрх
Дараагийн хичээлд:
Spread (...) ба Rest (...) операторуудыг үзнэ — массив, объектыг нэгтгэх, хуулах, функцид олон аргумент дамжуулах зэрэгт хэрэглэгддэг нэн чухал арга юм.