สิ่งที่คุณกำลังมองหาคือการมอบหมายงานที่ทำลายโครงสร้าง เป็นรูปแบบของการจับคู่รูปแบบเหมือนใน Haskell
การใช้การกำหนดโครงสร้างแบบทำลายคุณสามารถดึงค่าจากอ็อบเจ็กต์และอาร์เรย์และกำหนดให้กับตัวแปรที่ประกาศใหม่โดยใช้อ็อบเจ็กต์และไวยากรณ์ลิเทอรัล สิ่งนี้ทำให้โค้ดมีความกระชับมากขึ้น
ตัวอย่างเช่น:
var ascii = {
a: 97,
b: 98,
c: 99
};
var {a, b, c} = ascii;
รหัสข้างต้นเทียบเท่ากับ:
var ascii = {
a: 97,
b: 98,
c: 99
};
var a = ascii.a;
var b = ascii.b;
var c = ascii.c;
ในทำนองเดียวกันสำหรับอาร์เรย์:
var ascii = [97, 98, 99];
var [a, b, c] = ascii;
สิ่งนี้เทียบเท่ากับ:
var ascii = [97, 98, 99];
var a = ascii[0];
var b = ascii[1];
var c = ascii[2];
คุณยังสามารถแยกและเปลี่ยนชื่อคุณสมบัติอ็อบเจ็กต์ได้ดังนี้:
var ascii = {
a: 97,
b: 98,
c: 99
};
var {a: A, b: B, c: C} = ascii;
สิ่งนี้เทียบเท่ากับ:
var ascii = {
a: 97,
b: 98,
c: 99
};
var A = ascii.a;
var B = ascii.b;
var C = ascii.c;
นั่นคือทั้งหมดที่มีให้