โครงสร้างคืออะไร?
โครงสร้างนั้นตรงกันข้ามกับการสร้างข้อมูล ตัวอย่างเช่นแทนที่จะสร้างวัตถุหรืออาร์เรย์ใหม่มันจะแยกวัตถุที่มีอยู่หรืออาร์เรย์หนึ่งทีละหนึ่งเพื่อแยกข้อมูลที่คุณต้องการ
ES6 ใช้รูปแบบใหม่เพื่อให้ตรงกับค่าตัวเลขที่คุณต้องการแยกและการกำหนดโครงสร้างใช้รูปแบบนี้ใช้ รูปแบบนี้จะแมปโครงสร้างข้อมูลที่คุณกำลังแยกออกจากกันและเฉพาะข้อมูลเหล่านั้นที่ตรงกับรูปแบบจะถูกสกัด
รายการข้อมูล deconstructed อยู่ในตัวดำเนินการที่ได้รับมอบหมาย ทางด้านขวาของ = มันอาจเป็นการรวมกันของอาร์เรย์และวัตถุใด ๆ ไม่มีการ จำกัด จำนวนตัวแปรที่ใช้ในการกำหนดค่าให้กับข้อมูลเหล่านี้
การทำลายอาเรย์
Deconstruction Array ใช้อาร์เรย์เป็นรายการข้อมูลและคุณสามารถแยกค่าจากอาร์เรย์นี้เพื่อกำหนดค่าให้กับตัวแปรหนึ่งตัวหรือมากกว่าตามรูปแบบอาร์เรย์ (ใช้เพื่อให้ตรงกับค่าที่คุณต้องการจากอาร์เรย์)
รูปแบบอาร์เรย์ใช้เพื่อระบุว่าค่าใดเป็นสิ่งที่คุณต้องการแยกตามตำแหน่งของค่า มันจะต้องสามารถแมปโครงสร้างของอาร์เรย์ได้อย่างถูกต้องเพื่อให้ตัวแปรแต่ละตัวในรูปแบบอาร์เรย์ถูกกำหนดค่าที่สอดคล้องกับตำแหน่งในอาร์เรย์ที่แยกชิ้นส่วน
ให้ฉันยกตัวอย่างให้คุณเข้าใจ:
ตัวอย่างรูปแบบอาร์เรย์
กำหนดค่าทั้งหมดในอาร์เรย์ให้กับตัวแปรแต่ละตัว
// ตั้งค่าอาร์เรย์ const Avengers = ['Tony Stark', 'Steve Rogers', 'Natasha Romanoff']; // deconstruct อาร์เรย์เป็นตัวแปร รูปแบบอาร์เรย์อยู่ทางด้านซ้ายของผู้ให้บริการที่ได้รับมอบหมาย `=` และอาร์เรย์ที่มีโครงสร้างอยู่ทางด้านขวาของ // Const [Ironman, Cap, Blackwidow] = Avengers; // Ironman = 'Tony Stark' // cap = 'Steve Rogers' // blackwidow = 'Natasha Romanoff' // output Ironman: Ironman;
แยกค่าทั้งหมดยกเว้นค่าแรก
Const Avengers = ['Tony Stark', 'Steve Rogers', 'Natasha Romanoff']; // เราไม่จำเป็นต้องใช้ Tony Const [, Cap, Blackwidow] = Avengers; // Ironman = ข้อผิดพลาด: undefined // cap = 'steve rogers' // blackwidow = 'natasha romanoff' // output cap: cap;
แยกค่าทั้งหมดยกเว้นค่าที่สอง
Const Avengers = ['Tony Stark', 'Steve Rogers', 'Natasha Romanoff']; // cap ที่หายไป const [Ironman ,, Blackwidow] = Avengers; // Ironman = 'Tony Stark' // cap = ข้อผิดพลาด: undefined // blackwidow = 'natasha romanoff' // output blackwidow: blackwidow;
แยกค่าทั้งหมดยกเว้นค่าสุดท้าย
Const Avengers = ['Tony Stark', 'Steve Rogers', 'Natasha Romanoff']; // Ironman vs Cap Const [Ironman, Cap] = Avengers; // Ironman = 'Tony Stark' // cap = 'Steve Rogers' // blackwidow = ข้อผิดพลาด: undefined // output blackwidow: Ironman;
อาร์เรย์ซ้อนกัน
รูปแบบการจับคู่นี้ยังรองรับอาร์เรย์ซ้อนกันตราบใดที่ผู้ให้บริการที่ได้รับมอบหมาย = รูปแบบอาร์เรย์ทางด้านซ้ายตรงกับโครงสร้างอาร์เรย์ทางด้านขวา ให้ฉันอธิบายอีกครั้งว่าตัวแปรทางด้านซ้ายจะถูกกำหนดค่าที่สอดคล้องกับตำแหน่งในอาร์เรย์ทางด้านขวา ไม่ว่าคุณจะทำรังให้ลึกแค่ไหนคุณก็ยังสามารถแยกแยะได้
แยกแยะอาร์เรย์ซ้อนกัน
// การทำลายโครงสร้างอาร์เรย์ที่ซ้อนกัน Const Avengers = ['Natasha Romanoff', ['Tony Stark', 'James Rhodes'], ['Steve Rogers', 'Sam Wilson']]; // เวนเจอร์สและหุ้นส่วนของพวกเขา const [Blackwidow, [Ironman, Warmachine], [Cap, Falcon]] = Avengers; // blackwidow = 'Natasha Romanoff' // Ironman = 'Tony Stark' // Warmachine = 'James Rhodes' // cap = 'Steve Rogers' // Falcon = 'Sam Wilson' // เอาท์พุท Warmachine: Warmachine;
แยกค่าจากอาร์เรย์ที่ซ้อนกันอย่างลึกซึ้ง
// แยกพริกไทย Potts const เวนเจอร์สจากอาร์เรย์นี้ = ['นาตาชาโรมานอฟ', [['โทนี่สตาร์ก', 'พริกไทย potts'], 'James Rhodes'], ['Steve Rogers', 'Sam Wilson']]; // destructure const [, // skip 'natasha romanoff' [[, // skip 'tony stark' ของเธอ // potts potts กำหนดให้กับตัวแปร 'hera']] = avengers; // โปรดทราบ: คุณสามารถเขียนด้วยวิธีนี้ // const [, [[, hera]] = avengers; // เอาท์พุท Hera: Hera; // hera = 'potts potts'
ใช้ตัวดำเนินการ REST เพื่อจับภาพรายการที่เหลือทั้งหมด
หากคุณต้องการรับรายการอาร์เรย์เฉพาะและใส่รายการที่เหลือลงในอาร์เรย์คุณสามารถใช้ ตัวดำเนินการ REST เพื่อแยกชิ้นส่วนเช่น นี้:
// deconstruct const avengers ผ่านตัวดำเนินการพักผ่อน = ['Natasha Romanoff', 'Tony Stark', 'Steve Rogers']; const [blackwidow, ... Theother] = เวนเจอร์ส; Theother; // blackwidow = 'Natasha Romanoff' // theother = ['Tony Stark', 'Steve Rogers'] // เอาท์พุท Theother: Theothers;
การทำลายวัตถุ
การรื้อถอนวัตถุนั้นมีมนต์ขลังมากขึ้นโดยเฉพาะอย่างยิ่งเมื่อคุณต้องการรับค่าจากวัตถุที่ซับซ้อนและซ้อนกันซึ่งชัดเจนยิ่งขึ้น ในการย้ำอีกครั้งการแยกชิ้นส่วนวัตถุและการรื้อถอนอาร์เรย์ให้ใช้กฎเดียวกัน (นั่นคือสร้างรูปแบบวัตถุทางด้านซ้ายของตัวดำเนินการที่ได้รับมอบหมายเพื่อให้ตำแหน่งตัวแปรตรงกับตำแหน่งค่าของวัตถุ ทาง ด้านขวา)
ในการทำลายวัตถุคุณต้องระบุชื่อแอตทริบิวต์ที่จำเป็นต้องสกัดและชื่อตัวแปรที่จะได้รับมอบหมาย เช่นเดียวกับการรื้อถอนอาร์เรย์เราต้องสร้างรูปแบบวัตถุเพื่อแมปวัตถุที่ถูกแยกออกจากด้านซ้ายของตัวดำเนินการที่ได้รับมอบหมาย
แม้ว่าในกรณีนี้สิ่งที่เราต้องการแยกคือค่าของคุณสมบัติวัตถุ (เช่น: เราแยก value จาก { prop: value }) ดังนั้นรูปแบบวัตถุของเราจะต้องมีตัวแปรและตำแหน่งของตัวแปรนี้จะต้องสอดคล้องกับตำแหน่งของค่าคุณสมบัติที่เรากำลังจะแยก
ตัวอย่างง่ายๆ
แยกค่าแอตทริบิวต์วัตถุอย่างง่าย
เราสามารถทำได้เพื่อกำหนดค่าของทรัพย์สิน ironMan ของวัตถุ { ironMan: 'Tony Stark' } 'Tony Stark' ตัวแปร a :
// แยกแยะค่าคุณสมบัติของวัตถุและกำหนดให้กับตัวแปรเดียว `a`: const {Ironman: a} = {Ironman: 'Tony Stark'}; // เอาต์พุต A: A; // a = 'Tony Stark'แยกค่าแอตทริบิวต์หลายค่า
ตราบใดที่เราขยายรูปแบบเดียวกันเราสามารถแยกค่าแอตทริบิวต์หลายค่าจากวัตถุดังนี้:
// ตั้งค่าวัตถุของเรา const avengers = {Ironman: 'Tony Stark', cap: 'Steve Rogers', Blackwidow: 'Natasha Romanoff'}; // destructure วัตถุไปยังตัวแปรแต่ละตัว const {Ironman: a, cap: b, blackwidow: c} = Avengers; // a = 'Tony Stark' // b = 'Steve Rogers' // c = 'Natasha Romanoff' // output a: a;สังเกตว่ารูปแบบการแยกชิ้นส่วนนี้ตรงกับวัตถุที่แยกโครงสร้างอย่างไร
การทำลายวัตถุที่ซ้อนกัน
เช่นเดียวกับการแยกแยะอาร์เรย์ซ้อนกันเราสามารถแยกแยะวัตถุซ้อนกันได้ไม่ว่าพวกเขาจะลึกแค่ไหน
// การตั้งค่าวัตถุของเรา const avengers = {blackwidow: 'natasha romanoff', ironmanmancaracters: {คู่: {Ironman: 'Tony Stark', Hera: 'Pepper Potts',}, หุ้นส่วน: {Warmachine: 'James Brodie'}}, capcharacters: // destructure วัตถุไปยังตัวแปรแต่ละตัว const {blackwidow: a, ironmanmancaracters: {คู่: {ironman: b, hera: c}, คู่ค้า: {warmachine: d}}, capcharacters: {cap: e, คู่ค้า: {falcon: f}}} // a = 'Natasha Romanoff' // b = 'Tony Stark' // c = 'Pepper Potts' // d = 'James Brodie' // e = 'Steve Rogers' // f = 'Sam Wilson' // เอาท์พุท A: A;ตั้งชื่อตัวแปรที่กำหนด
แน่นอนว่ามันไม่ดีที่จะตั้งชื่อตัวแปรเช่น A, B, C และชื่อตัวแปรควรสมเหตุสมผล
การตั้งชื่อ
// ตั้งค่าวัตถุของเรา const avengers = {Ironman: 'Tony Stark', cap: 'Steve Rogers', Blackwidow: 'Natasha Romanoff'}; // destructure object ไปยังตัวแปรแต่ละตัวที่มีชื่อที่มีความหมาย const {Ironman: Ironman, cap: cap, blackwidow: blackwidow} = avengers; // blackwidow = 'Natasha Romanoff' // Ironman = 'Tony Stark' // cap = 'Steve Rogers' // เอาท์พุท Blackwidow: Blackwidow; วิธีการนี้ดีกว่าชื่อข้างต้น A, B และ C แต่ยังสามารถปรับปรุงได้ { ironMan: ironMan } ดูน่าเกลียดและไม่เข้าใจง่าย
ทางลัดชื่อทางไวยากรณ์
หากคุณต้องการกำหนดค่าแอตทริบิวต์ของวัตถุให้กับตัวแปรและชื่อของตัวแปรจะเหมือนกับชื่อแอตทริบิวต์ของวัตถุจากนั้นในโหมดการกำหนดทางด้านซ้ายของ = คุณจะต้องเขียนชื่อแอตทริบิวต์ดังนี้:
// ตั้งค่าวัตถุของเรา constvenger = {Ironman: 'Tony Stark'}; // destructure วัตถุไปยังตัวแปรแต่ละตัวที่มีชื่อที่มีความหมาย const {Ironman // เทียบเท่ากับ 'Ironman: Ironman'} = Avenger; // Ironman = 'Tony Stark' // เอาท์พุท Ironman: Ironman;เนื่องจากชื่อแอตทริบิวต์วัตถุที่แยกโครงสร้างนั้นเหมือนกับชื่อตัวแปรที่กำหนดเราจึงต้องแสดงชื่อชื่อครั้งเดียวเท่านั้น
ไวยากรณ์
มารีทวีตรหัสก่อนหน้านี้เล็กน้อยเพื่อให้พวกเขาดูกระชับและชัดเจนยิ่งขึ้น:
// ตั้งค่าวัตถุของเรา const avengers = {Ironman: 'Tony Stark', cap: 'Steve Rogers', Blackwidow: 'Natasha Romanoff'}; // destructure วัตถุไปยังตัวแปรแต่ละตัวที่มีชื่อที่มีความหมาย const {Ironman, cap, blackwidow} = avengers; // เอาท์พุทไอรอนแมน: ไอรอนแมน;แยกทรัพย์สินที่ซ้อนกันลึกออกไปจากวัตถุ
สิ่งต่าง ๆ น่าสนใจยิ่งขึ้นเมื่อเราต้องการดึงคุณสมบัติวัตถุที่ซ้อนกันลึกลงไป:
// ตั้งค่า ObjectConst Avengers ของเรา = {Blackwidow: 'Natasha Romanoff', IronmanManCharacters: {คู่: {Ironman: 'Tony Stark', Hera: 'Pepper Potts',}, หุ้นส่วน: {Warmachine: 'James Brodie' }}; // destructure objectConst ที่ซ้อนกันลึก {IronManCaracters: {คู่}} = Avengers; // vace = {// Ironman: 'Tony Stark', // Hera: 'Potpts', //} //เดี๋ยวก่อนคุณอ่านรหัสนี้ได้อย่างไร? ตัวแปร คู่ ถูกกำหนดอย่างไร?
โดยการแยกด้วยวิธีนี้เราจะเห็นว่าตัวดำเนินการที่ได้รับมอบหมาย = ทางด้านซ้ายเป็นแผนที่ของวัตถุที่ถูกแยกออก:
const avengers = {ironmanCaracters: {คู่: {Ironman: 'Tony Stark', Hera: 'Pepper Potts',}}}; const {IronmanManCaracters: {คู่}} = Avengers; // เอาท์พุทคู่: คู่; เพียงแค่ใช้ const { couple } = avengers; ไม่มีวิธีที่จะแยกค่าของ คู่รัก โดยการแมปตำแหน่งและชื่อของแอตทริบิวต์วัตถุที่จะสกัดคอมไพเลอร์ JS สามารถรับข้อมูลที่สอดคล้องกันค้นหาคุณลักษณะทั้งหมดของวัตถุและแยกค่าที่เราต้องการอย่างถูกต้อง
ควรสังเกตที่นี่ ว่าคู่รัก ใช้ทางลัดไวยากรณ์เพื่อตั้งชื่อตัวแปรซึ่งเป็นเช่นนี้จริง ๆ :
const {IronManCharacters: {คู่: คู่}} = Avengers;นี่คือวิธีการกำหนด คู่ และค่าของมันคือค่าที่มีชื่อแอตทริบิวต์ คู่ ในวัตถุ เวนเจอร์ส
แยกแยะคุณลักษณะของวัตถุ
จนถึงตอนนี้เราได้แยกแยะค่าของวัตถุเพื่อกำหนดค่าให้กับตัวแปรเดียวและในความเป็นจริงเรายังสามารถกำหนดค่าให้กับคุณสมบัติของวัตถุอื่นได้
const avengers = {blackwidow: 'Natasha Romanoff', IronmanManCharacters: {คู่: {Ironman: 'Tony Stark', Hera: 'Pepper Potts'}}; Ironmanproperties = {ครอบครัว: {}}; IronmanProperties.family// IronmanProperties.family = {// Ironman: 'Tony Stark', // Hera: 'Pepper Potts' //} // เอาท์พุท Ironmanproperties.Family:InrmanProperties.Family; ที่นี่เรากำหนดค่าของ ironManCharacters.couple ให้กับคุณสมบัติของ ironManProperties.family นี่คือสองจุดที่จะอธิบาย:
1. การกำหนดโครงสร้างการมอบหมายจะต้องรวมอยู่ในวงเล็บ
เมื่อเราแยกแยะตัวแปรที่มีอยู่ (เช่น IronmanProperties ในตัวอย่างด้านบน) เราต้องทำสิ่งนี้แทนที่จะประกาศตัวแปรใหม่
2. รูปแบบยังคงตรง
{ ironManCharacters: { couple... } } ตรงกับ IronManCaracters ใน Object Avengers ด้วยวิธีนี้คุณสามารถแยกค่าของ ironManCharacters.couple จากวัตถุ Avengers ตามที่คุณต้องการ แต่ตอนนี้วัตถุใหม่ Ironmanproperties และ ครอบครัว ของมันถูกวางไว้ด้านหลัง ทั้งคู่ ในความเป็นจริงทรัพย์สิน ironManProperties.family ครอบครัวของวัตถุนี้ได้รับมอบหมายจริง ๆ
คุณยังสับสนเมื่อคุณพยายามอธิบายสถานการณ์นี้อย่างชัดเจนหรือไม่? ลองใช้รหัสด้านบนใน JSFIDDLE และทุกอย่างจะชัดเจน
หากคุณไม่แน่ใจว่าทำไมคุณถึงทำเช่นนี้โปรดดูตัวอย่างในบทความถัดไป ตัวอย่างเหล่านี้จะบอกคุณว่าทำไมรูปแบบนี้จึงใช้ในการแยกโครงสร้างวัตถุ JSON ที่เรียกโดย API ทำให้คุณสามารถชื่นชมความมหัศจรรย์ของการรื้อถอน!
ค่าเริ่มต้น
เมื่อแยกโครงสร้างคุณยังสามารถระบุค่าเริ่มต้นไปยังตัวแปร:
// ตั้งค่าวัตถุของเรา const avengers = {Ironman: 'Tony Stark', cap: 'Steve Rogers', Blackwidow: 'Natasha Romanoff'}; // การทำลายโครงสร้างโดยใช้ค่าเริ่มต้น const {Ironman, cap, blackwidow, thehulk = 'Bruce Banner'} = Avengers; // Ironman = 'Tony Stark' // cap = 'Steve Rogers' // blackwidow = 'Natasha Romanoff' // thehulk = 'Bruce Banner' // เอาท์พุท Blackwidow: Blackwidow;หลีกเลี่ยงปัญหาเหล่านี้ในระหว่างการรื้อถอน
const, ปล่อยให้, var ไม่ได้ใช้ เมื่อ deconstructing การกำหนด
ประเด็นนี้ได้รับการกล่าวถึงเมื่อพูดถึงการแยกแยะและกำหนดคุณสมบัติของวัตถุ แต่ก็ยังจำเป็นที่จะต้องย้ำที่นี่เพื่อให้ทุกคนมีความประทับใจอย่างลึกซึ้ง
ไม่สามารถแยกแยะตัวแปรที่ประกาศ
นั่นคือคุณสามารถประกาศตัวแปรในขณะที่แยกแยะตัวแปร
// ตั้งค่าวัตถุของเรา const avengers = {Ironman: 'Tony Stark', cap: 'Steve Rogers', Blackwidow: 'Natasha Romanoff', Thehulk: 'Bruce Banner'}; // การทำลายโครงสร้างที่ถูกต้อง {Ironman} = Avengers; ให้ {cap} = เวนเจอร์ส; var {blackwidow} = Avengers; // การทำลายที่ไม่ถูกต้องปล่อยให้ Thehulk; {thehulk} = เวนเจอร์ส; // ข้อผิดพลาด // เอาต์พุต Thehulk: Thehulk;ทำไมตัวแปรที่ประกาศไม่ได้ถูกแยกออก? นั่นเป็นเพราะถ้าคุณใช้การจัดฟันแบบหยิก { JavaScript จะคิดว่าคุณกำลังประกาศ บล็อก
วิธีแก้ปัญหาคือการปิดการมอบหมายที่กำหนดไว้ทั้งหมดใน วงเล็บ คู่
วิธีการแยกแยะและกำหนดตัวแปรที่ประกาศ
// ตั้งค่าวัตถุของเรา const avengers = {Ironman: 'Tony Stark', cap: 'Steve Rogers', Blackwidow: 'Natasha Romanoff', Thehulk: 'Bruce Banner'}; // hulk ที่ถูกต้องปล่อยให้ Thehulk; ({Thehulk} = Avengers); // thehulk = 'Bruce Banner' // เอาท์พุท thehulk: Thehulk;ตอนนี้เราไม่ได้เริ่มต้นด้วยการจัดฟันแบบหยิกดังนั้น JS จะไม่คิดว่าเรากำลังประกาศ บล็อก เพื่อให้เราสามารถบรรลุผลการสร้างโครงสร้างที่คาดหวัง
ส่งคืนค่า deconstructed โดยตรง
เมื่อตัวแปรที่จะส่งคืนต่อไปจะไม่ถูกประกาศก่อนค่า deconstructed จะถูกส่งคืนโดยตรงซึ่งจะไม่บรรลุผลที่คาดหวัง ตัวอย่างเช่นในรหัสต่อไปนี้วัตถุ Ironman ทั้งหมดที่ส่งคืนจะไม่เป็นค่าที่คาดหวังของ Tony Stark
// หมายเหตุ: มันไม่ได้ผล! ฟังก์ชั่น getTonystark (Avengers) {return {Ironman: {realname}} = Avengers; // ส่งคืนวัตถุ Avengers ไม่ใช่ค่า RealName} const Avengers = {Ironman: {realname: 'Tony Stark'}}; Const Tonystark = Gettonystark (Avengers); // tonystark = {// Ironman: {// realname: 'Tony Stark' //} //}; // เอาท์พุท Tonystark: Tonystark;ในการแยกค่าจากวัตถุที่แยกโครงสร้างคุณต้องกำหนดให้กับตัวแปรก่อนจากนั้นส่งคืนตัวแปรนี้ดังที่แสดงในรหัสต่อไปนี้:
// หมายเหตุ: มันใช้งานได้! ฟังก์ชั่น getTonystark (Avengers) {const {Ironman: {realname}} = Avengers; คืนชื่อ Realname; } const Avengers = {Ironman: {realname: 'Tony Stark'}}; Const Tonystark = Gettonystark (Avengers); // tonystark = 'Tony Stark' // เอาท์พุท Tonystark: Tonystark;วิธีการแบ่งการมอบหมายและกลับไปเป็นรหัสสองบรรทัดนี้น่ารำคาญจริงๆและรหัสนั้นน่าเกลียดและไม่จำเป็น น่าเสียดายที่ JavaScript ทำงานเช่นนี้ - คุณต้องกำหนดค่า deconstructed ให้กับตัวแปรก่อนจากนั้นกลับมาและสองขั้นตอนจะต้องทำแยกกัน
อย่างไรก็ตามเราไม่ได้บอกว่าเราเพิ่งแยกกันและไม่ได้บอกว่าเราต้องใส่มันลงในรหัสสองบรรทัด ดังนั้นการเขียนลงในบรรทัดเดียวดังต่อไปนี้สามารถบรรลุผลลัพธ์ที่คาดหวัง:
ฟังก์ชั่น getTonystark (Avengers) {return ({Ironman: {realname}} = Avengers) && realname; } const Avengers = {Ironman: {realname: 'Tony Stark'}}; Const Tonystark = Gettonystark (Avengers); // tonystark = 'Tony Stark' // เอาท์พุท Tonystark: Tonystark; เนื่องจากผู้ดำเนินการ _short-circuit_ circuit_logical ของ JavaScript (&& และ ||) ส่งคืนค่าของตัวถูกดำเนินการที่สองตามค่าของตัวถูกดำเนินการแรกวิธีการเขียนนี้สามารถบรรลุผลที่คาดหวัง ที่นี่ตัวถูกดำเนินการแรกคือการแยกแยะนิพจน์การมอบหมายและกำหนดค่าให้กับ RealName RealName เป็นตัวถูกดำเนินการที่สองดังนั้นค่าของมันจะถูกส่งคืนในที่สุด
สิ่งนี้ไม่เหมาะสม แต่สามารถทำได้ ในขณะที่ติดตามความสั้นของรหัสคุณต้องให้ความสนใจกับความสามารถในการอ่านรหัส
สรุป
บทความนี้อธิบายในเชิงลึกหลักการหลักของการจัดสรรการมอบหมาย โครงสร้างไม่เพียง แต่ลดจำนวนรหัสของคุณเท่านั้น แต่ยังเปลี่ยนวิธีการที่คุณเข้ารหัสด้วยพื้นฐาน ยิ่งคุณใช้มันมากเท่าไหร่คุณก็ยิ่งสามารถกำหนดข้อมูลและฟังก์ชั่นได้มากขึ้นซึ่งแทบจะเป็นไปไม่ได้ในอดีต ฉันหวังว่าบทความนี้จะเป็นประโยชน์กับทุกคนในการเรียนรู้ ES6