การใช้งาน spread ใน JavaScript
สมมติว่าเรามีฟังก์ชันที่มีพารามิเตอร์5ตัว
ดังนี้:
function func(num1, num2, num3, num4, num5) {
return num1 + num2 + num3 + num4 + num5;
}
เราสามารถใช้spreadส่ง
อาร์เรย์เดียวเข้าไปในฟังก์ชันนี้ได้:
func(...[1, 2, 3, 4, 5]);
แต่ไม่จำเป็นต้องทำแบบนั้นเสมอไป!
สามารถส่งอาร์เรย์สองตัวก็ได้:
func(...[1, 2], ...[3, 4, 5]);
สามารถส่งพารามิเตอร์บางส่วนด้วยวิธีปกติ และบางส่วนด้วยการใช้ spread:
func(1, 2, ...[3, 4, 5]);
หรือแบบนี้:
func(1, ...[2, 3, 4], 5);
โดยไม่ต้องรันโค้ด จงหาว่าอะไรจะถูกแสดงผล ในคอนโซล:
function func(n1, n2, n3, n4, n5, n6, n7, n8) {
return (n1 + n2 + n3 + n4) * (n5 + n6 + n7 + n8);
}
console.log( func(1, ...[2, 3, 4], 5, ...[6], ...[7, 8]) );