Skip to main content

Spread Operator คืออะไร ? | พื้นฐาน JavaScript EP.11

javascript-spread-operator

ถ้ามีคนถามถึงสุดยอด feature เอนกประสงค์ และสารพัดประโยชน์สุด ๆ ของ JavaScript ผมคงนึกถึงอย่างอื่นไปไม่ได้ นอกจาก Spread Operator

เพราะไม่ว่าจะใช้ ต่อ Array 2 ตัวนี้แบบไหน Spread Operator ก็ทำได้หมดไม่ว่าจะแทรกตรงไหน

const cats = ["ส้ม", "ชิเอล", "คิรัวร์"];
const dogs = ["นวล", "โบ้", "จุ้มเหม่ง"];

ตัวแรก

const catsFirst = ["ไข่ขาว", ...cats];

ตัวสุดท้าย

const catsLast = [...cats, "เหมียว"];

หรือตรงกลางก็ทำได้

const [firstCat, ...RestCats] = cats;
const catsMiddle = [firstCat, "มีบุญ", ...RestCats];

หรือจะใช้ Destructuring เพื่อดึงค่าออกจาก Object หรือ Array

const object = { id: 1, title: "foo" };
const { ...copyObject } = object;

น้อง ๆ พี่อยากให้ function รับ parameters ได้เยอะ ๆ แต่เขียนสั้น ๆ

const sum = (...values) => {
return values.reduce((prev, curr) => prev + curr, 0);
};
sum(10, 20, 30); // 60

อยากก้อป array ?

const cats = ["ส้ม", "ชิเอล", "คิรัวร์"];
const copiedCats = [...cats];

อยากก้อป object ?

const cat = { name: "เหมียว", age: 2 };
const copiedCat = { ...cat };

อยากดึงค่า array ทั้งหมด ยกเว้นตัวแรก ?

const cats = ["ส้ม", "ชิเอล", "คิรัวร์"];
const [firstCat, ...restCats] = cats;

เป็นยังไงกันบ้างครับสำหรับ Spread Operator สุดยอด feature สุดเจ๋ง ใช้งานง่าย และยังสารพัดประโยชน์สุด ๆ


สามารถรับชมแบบวิดีโอได้ที่นี่ครับ