جسٹاگرافک دسٹرکچر

نحوه‌ی ساختاری تخصیص

نحوه‌ی ساختاری تخصیص، ویژگی‌های شیء را به متغیرها باز می‌کند:

let {firstName, lastName} = person;

این همچنین می‌تواند آرایه‌ها و هر شیء قابل تکرار دیگر را باز کند:

let [firstName, lastName] = person;

نحوه‌ی ساختاری شیء

مثال

// یک شیء ایجاد می‌کنیم
const person = {
  firstName: "Bill",
  lastName: "Gates",
  age: 50
};
// تفکیک
let {firstName, lastName} = person;

آزمایش کنید

ترتیب ویژگی‌ها مهم نیست:

مثال

// یک شیء ایجاد می‌کنیم
const person = {
  firstName: "Bill",
  lastName: "Gates",
  age: 50
};
// تفکیک
let {lastName, firstName} = person;

آزمایش کنید

توجه:

نحوه‌ی ساختاری تغییرناپذیر است.

نحوه‌ی ساختاری تغییر نمی‌کند.

مقادیر پیش‌فرض شیء

برای ویژگی‌هایی که ممکن است نباشند، می‌توانیم مقادیر پیش‌فرض تنظیم کنیم:

مثال

// یک شیء ایجاد می‌کنیم
const person = {
  firstName: "Bill",
  lastName: "Gates",
  age: 50
};
// تفکیک
let {firstName, lastName, country = "US"} = person;

آزمایش کنید

نام‌گذاری ویژگی‌های شیء

مثال

// یک شیء ایجاد می‌کنیم
const person = {
  firstName: "Bill",
  lastName: "Gates",
  age: 50
};
// تفکیک
let {lastName: name} = person;

آزمایش کنید

نحوه‌ی ساختاری رشته

یکی از کاربردهای نحوه‌ی ساختاری، استخراج حروف یک رشته است.

مثال

// یک رشته ایجاد می‌کنیم
let name = "W3Schools";
// تفکیک
let [a1, a2, a3, a4, a5] = name;

آزمایش کنید

توجه:

نحوه‌ی ساختاری می‌تواند برای هر شیء قابل تکرار استفاده شود.

نحوه‌ی ساختاری آرایه

ما می‌توانیم متغیرهای آرایه را به متغیرهای خودشان تقسیم کنیم:

مثال

// ایجاد یک آرایه
const fruits = ["Bananas", "Oranges", "Apples", "Mangos"];
// تفکیک
let [fruit1, fruit2] = fruits;

آزمایش کنید

گذشتن از مقادیر آرایه

ما می‌توانیم از دو یا بیشتر کاما برای گذشتن از مقادیر آرایه استفاده کنیم:

مثال

// ایجاد یک آرایه
const fruits = ["Bananas", "Oranges", "Apples", "Mangos"];
// تفکیک
let [fruit1,,,fruit2] = fruits;

آزمایش کنید

موقعیت آرایه

ما می‌توانیم از موقعیت خاصی از یک آرایه برای استخراج مقادیر استفاده کنیم:

مثال

// ایجاد یک آرایه
const fruits = ["Bananas", "Oranges", "Apples", "Mangos"];
// تفکیک
let {[0]: fruit1, [1]: fruit2} = fruits;

آزمایش کنید

ویژگی‌های باقی‌مانده

می‌توان در انتهای نحوه‌ی ساختاری از ویژگی‌های باقی‌مانده استفاده کرد.

این نویسه‌گذاری تمام مقادیر باقی‌مانده را در یک آرایه جدید ذخیره می‌کند:}}

مثال

// ایجاد یک آرایه
const numbers = [10, 20, 30, 40, 50, 60, 70];
// تفکیک
const [a, b, ...rest] = numbers;

آزمایش کنید

تفکیک Map

مثال

// ایجاد یک Map
const fruits = new Map([
  ["apples", 500],
  ["bananas", 300],
  
]
// تفکیک
let text = "";
for (const [key, value] of fruits) {
  text += key + " is " + value;
}

آزمایش کنید

تعویض متغیرهای جی‌اس‌اینکست

می‌توان از تخصیص تفکیک‌شده برای تعویض ارزش‌های دو متغیر استفاده کرد:

مثال

let firstName = "Bill";
let lastName = "Gates";
// تفکیک
[firstName, lastName] = [lastName, firstName];

آزمایش کنید