เป็นการกำหนดการทำลายวัตถุ เช่นเดียวกับฉันคุณอาจพบว่ามันน่าแปลกใจเพราะไวยากรณ์การทำลายโครงสร้างวัตถุ ES6 ดูเหมือน แต่จะไม่ทำงานเหมือนโครงสร้างตามตัวอักษรของวัตถุ
สนับสนุนรูปแบบสั้น ๆ ที่คุณพบตลอดจนการเปลี่ยนชื่อฟิลด์และอาร์กิวเมนต์เริ่มต้น:
โดยพื้นฐานแล้วมันคือ {oldkeyname: newkeyname = defaultvalue, ... } ':' ไม่ใช่ตัวคั่นคีย์ / ค่า '=' คือ
ผลเสียบางประการของการตัดสินใจออกแบบภาษานี้คือคุณอาจต้องทำสิ่งต่างๆเช่น
({A, B =} some_object);
parens เสริมป้องกันไม่ให้วงเล็บปีกกาด้านซ้ายแยกวิเคราะห์เป็นบล็อกและอัฒภาคชั้นนำจะป้องกันไม่ให้ parens แยกวิเคราะห์เป็นการเรียกฟังก์ชันไปยังฟังก์ชันในบรรทัดก่อนหน้า
ดูข้อมูลเพิ่มเติมได้ที่:
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Destructuring_assignment
ระวังข้อผิดพลาดที่สำคัญระหว่างการกำหนดการทำลายวัตถุอย่าโยน; คุณเพียงแค่ลงท้ายด้วยค่า "ไม่ได้กำหนด" ไม่ว่าจะเป็นข้อผิดพลาดที่สำคัญหรือข้อผิดพลาดอื่น ๆ ที่แพร่กระจายแบบเงียบ ๆ เป็น "ไม่ได้กำหนด"
> var {rsienstr: foo, q: bar} = {p:1, q:undefined};
undefined
> foo
undefined
> bar
undefined
>