JavaScript การเคลื่อนย้าย

สyntax การแยกความหมาย

สyntax การแยกความหมายจะขนยายคุณสมบัติของวัตถุไปยังตัวแปร:

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;
}

ทดลองด้วยตัวเอง

แลกเปลี่ยนตัวแปร JavaScript

สามารถใช้การแยกภาคแต่งสมบัติเพื่อแลกเปลี่ยนค่าของสองตัวแปรได้

ตัวอย่าง

let firstName = "Bill";
let lastName = "Gates";
// การแยกภาค
[firstName, lastName] = [lastName, firstName];

ทดลองด้วยตัวเอง