Rest และ Spread — อาร์เรย์และออบเจ็กต์ตามแนวทางที่เหมาะสม
รวบรวมค่าหรือพร็อพเพอร์ตีที่เหลือ โคลนและผสานด้วย spread และหลีกเลี่ยงการกลายค่าโดยไม่รู้ตัวด้วยรูปแบบง่าย ๆ
Rest และ Spread — อาร์เรย์และออบเจ็กต์ตามแนวทางที่เหมาะสม เป็นบทเรียน JavaScript Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 2 จากทั้งหมด 2 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน JavaScript Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส JavaScript Academy มีบทเรียนทั้งหมด 2 บทเรียน
บทนำ
เป้าหมาย: ใช้ส่วนที่เหลือเพื่อรวบรวมค่าที่เกินมา และใช้การกระจายเพื่อคัดลอกหรือผสาน
- การกระจายอาร์เรย์หรืออ็อบเจ็กต์
- ส่วนที่เหลือของอาร์เรย์ (หัวหรือหาง)
- ส่วนที่เหลือของอ็อบเจ็กต์ (ยกเว้นคีย์บางส่วน)
- การแก้ไขข้อมูลเทียบกับการคัดลอก

พื้นฐานการกระจายอาร์เรย์
[...arr]ใช้คัดลอกอาร์เรย์ และรวมอาร์เรย์โดยกระจายอาร์เรย์เหล่านั้นลงในอาร์เรย์ใหม่
// Array spread creates a shallow copy and merges arrays
const a = [1, 2];
const b = [3, 4];
const clone = [...a];
const merged = [...a, ...b];
console.log("a:", a);
console.log("clone:", clone);
console.log("merged:", merged);

รูปแบบส่วนที่เหลือของอาร์เรย์
องค์ประกอบส่วนที่เหลือ (…tail) จะรวบรวมค่าที่เหลือไว้ในอาร์เรย์ใหม่
// Array rest collects the remaining items
const nums = [10, 20, 30, 40];
const [head, ...tail] = nums;
console.log("head:", head);
console.log("tail:", tail);

พื้นฐานการกระจายอ็อบเจ็กต์
การผสานอ็อบเจ็กต์ขึ้นอยู่กับลำดับ การกระจายที่อยู่ทีหลังจะเขียนทับคีย์ก่อนหน้า
// Object spread copies and merges; later keys win
const base = { theme: "light", compact: false };
const override = { compact: true };
const copy = { ...base };
const merged = { ...base, ...override };
console.log("copy:", copy);
console.log("merged:", merged);

รูปแบบส่วนที่เหลือของอ็อบเจ็กต์
ใช้ { a, ...rest } เพื่อดึงคุณสมบัติบางส่วนและเก็บส่วนที่เหลือไว้ด้วยกัน
// Object rest collects remaining properties
const user = { id: 7, name: "Ayla", role: "admin" };
const { id, ...publicInfo } = user;
console.log("id:", id);
console.log("publicInfo:", publicInfo);

หลีกเลี่ยงการแก้ไขข้อมูลด้วยการคัดลอก
สร้างอ็อบเจ็กต์ใหม่เมื่อเปลี่ยนค่า วิธีนี้ชัดเจนและปลอดภัยกว่าการแก้ไขข้อมูลที่ใช้ร่วมกัน
// Copy instead of mutating original data
const settings = { sound: true, volume: 5 };
// Mutating version (avoid in shared state)
// settings.volume = 6;
// Non-mutating: create an updated copy
const updated = { ...settings, volume: 6 };
console.log("settings:", settings);
console.log("updated:", updated);

แบบทดสอบส่วนที่เหลือของอ็อบเจ็กต์
ตรวจสอบอย่างรวดเร็ว: ส่วนที่เหลือของอ็อบเจ็กต์

สรุป
สรุป: การกระจายใช้คัดลอกหรือผสานอาร์เรย์และอ็อบเจ็กต์ ส่วนที่เหลือใช้รวบรวมค่าที่เหลือ ควรเลือกคัดลอกแทนการแก้ไขข้อมูล เพื่อให้การเปลี่ยนแปลงชัดเจน

คำถามที่พบบ่อย
บทเรียน “Rest และ Spread — อาร์เรย์และออบเจ็กต์ตามแนวทางที่เหมาะสม” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “Rest และ Spread — อาร์เรย์และออบเจ็กต์ตามแนวทางที่เหมาะสม” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส JavaScript Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส JavaScript Academy มีบทเรียนทั้งหมด 2 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “Rest และ Spread — อาร์เรย์และออบเจ็กต์ตามแนวทางที่เหมาะสม”
รวบรวมค่าหรือพร็อพเพอร์ตีที่เหลือ โคลนและผสานด้วย spread และหลีกเลี่ยงการกลายค่าโดยไม่รู้ตัวด้วยรูปแบบง่าย ๆ คุณปฏิบัติ JavaScript Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน JavaScript Academy หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน JavaScript Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 2 จากทั้งหมด 2 บทเรียน
บทเรียน “Rest และ Spread — อาร์เรย์และออบเจ็กต์ตามแนวทางที่เหมาะสม” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน JavaScript Academy นี้ได้ไหม
ได้ บทเรียน JavaScript Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- พื้นฐานการแยกโครงสร้างอาร์เรย์และออบเจ็กต์
- Rest และ Spread — อาร์เรย์และออบเจ็กต์ตามแนวทางที่เหมาะสม