Object Destructuring یک راه جدید برای گرفتن یا استخراج کردن مقدارهای یک آرایه یا آبجکت و داشتن اونها توی متغیرها هست.

قبلا برای اینکه مقدارهای یک آبجکت یا آرایه رو توی متغیرها داشته باشیم به شکل زیر عمل می‌کردیم:

const employee = {
    firstName: "Job",
    lastName: "Offer",
    position: "Software Developer",
    yearHired: 1954
};

var firstName = employee.firstName;
var lastName = employee.lastName;
var position = employee.position;
var yearHired = employee.yearHired;

به چهار خط آخر کد بالا دقت کنین؛ برای هر آیتم یک متغیر ساختیم. برای آبجکت‌های بزرگ‌تر، تعداد خط‌ها و متغیرها همینطوری بیشتر میشن. یک راه بهتر استفاده از Object Destructuring هست که به صورت زیر اون رو می‌نویسیم:

let { firstName, lastName, position, yearHired } = employee;


console.log(firstName); // Job
console.log(lastName); // Offer
console.log(position); // Software Developer
console.log(yearHired); // 1954

خب همین یک خط، کار چهار خط بالا رو انجام میده. توی این روش، مقدار ‌key های آبجکت، توی متغیرهایی که همنام با key های آبجکت هستن ریخته میشه. دقت کنین ترتیب مهم نیست. فقط باید اسم متغیرهایی که توی براکت استفاده می‌کنیم، توی آبجکت وجود داشته باشن. اگه بخوایم از نام دلخواه خودمون استفاده کنیم به روش زیر عمل می‌کنیم:

let { firstName: fName, lastName: lName, position, yearHired } = employee;

console.log(fName); // Job
console.log(lName); // Offer

و اگه آبجکت ما یک پراپرتی خاص رو نداشت، می‌تونیم مثل زیر یک مقدار پیشفرض بدیم:

let { age = 3, lastName: lName, position, yearHired } = employee;

 

منبع: