Destructuring

#HelloFrontend #HelloErmine #HelloWorld2021

Destructuring คืออะไร ?

คือ การหยิบค่าออกมาจาก array หรือ object แล้วนำไปใส่ในตัวแปรที่อยู่ข้างนอก

Object destructuring

สามารถหยิบค่าออกมาจาก key หรือ property ที่มีอยู่ใน object อยู่แล้วเท่านั้น (key ที่ไม่มีอยู่จะแสดงเป็น undefined)

let aCar = {
    fuel: 50,
    engine: 'V8',
    color: 'Intergalactic black',
    isStarted: false
};
 
let {fuel, engine, sussy} = aCar;

console.log(fuel);   // 50
console.log(engine); // V8
console.log(sussy);  // undefined (not in aCar)
console.log(color);  // ReferenceError: color is not defined

จากตัวอย่าง เราหยิบค่า fuel, engine และ sussy ออกมาจาก aCar (พร้อมกับการประกาศตัวแปร)

เราสามารถเปลี่ยนชื่อให้กับ key ที่เราหยิบออกมา หรือกำหนดค่าเริ่มต้นให้กับ key ที่ไม่มีอยู่ใน object ได้

จากตัวอย่าง เราเปลี่ยน fuel เป็น gas และกำหนดค่าเริ่มต้นให้กับ sussy

Array destructuring

ค่าที่หยิบออกมาสามารถใช้ชื่ออะไรก็ได้ โดยจะได้ค่าเรียงตาม index

สามารถข้ามค่าที่ไม่ต้องการได้ด้วยการปล่อยชื่อตัวแปรว่างไว้ และสามารถกำหนดค่าเริ่มต้นให้กับตัวแปรที่เกิน index ได้ (ถ้าไม่กำหนดจะเป็น undefined)

จากตัวอย่าง เราข้ามค่า 666 และกำหนดค่าเริ่มต้นให้กับตัวแปร yes มีค่าเป็น true

แหล่งอ้างอิง 📑

Last updated

Was this helpful?