ไวยากรณ์ Spread (...) ช่วยให้เราขยายออบเจกต์ที่วนซ้ำได้ (iterable) เช่นอาร์เรย์ ในตำแหน่งที่คาดหวังอาร์กิวเมนต์ 0 ตัวขึ้นไป ทำให้สามารถส่งจำนวนพารามิเตอร์เป็นอาร์เรย์ไปยังฟังก์ชันได้
ตัวอย่างโค้ด
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Spread Operator Demo</title>
<style>
body { font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif; }
.result, .sample { font-size: 20px; font-weight: 500; color: blueviolet; }
.sample { color: red; }
</style>
</head>
<body>
<h1>Spread Operator สำหรับอาร์เรย์ JavaScript</h1>
<div class="sample">[22,55,11,19,55]</div>
<div class="result"></div>
<br />
<button class="Btn">คลิกที่นี่</button>
<h3>คลิกปุ่มด้านบนเพื่อเรียกฟังก์ชัน add และส่งอาร์เรย์ข้างต้นเป็นพารามิเตอร์</h3>
<script>
const BtnEle = document.querySelector(".Btn");
const resEle = document.querySelector(".result");
function add(num1, num2, num3, num4, num5) {
return num1 + num2 + num3 + num4 + num5;
}
const arr = [22, 55, 11, 19, 55];
BtnEle.addEventListener("click", () => {
resEle.innerHTML = "ผลรวมของอาร์เรย์ข้างต้น = " + add(...arr);
});
</script>
</body>
</html>
ผลลัพธ์
เมื่อคลิกปุ่ม 'คลิกที่นี่' จะแสดงผลรวมของค่าในอาร์เรย์