Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> JavaScript

วิธีกำหนด Rest Parameter สำหรับฟังก์ชันใน JavaScript

ด้วย rest parameter สามารถแทน arguments หลายค่าเป็น array ได้ ES6 นำมาเพื่ออำนวยความสะดวก แสดงด้วย ... นำหน้าพารามิเตอร์

ตัวอย่าง

<html> 
  <body> 
    <script> 
      function addition(...numbers) { 
        var res = 0; 
        numbers.forEach(function(number) { 
          res += number; 
        }); 
        return res; 
      } 
      document.write(addition(3)); 
      document.write(addition(9, 10, 11, 12, 13)); 
    </script> 
  </body> 
</html>

Syntax และกฎ

// Rest parameter ต้องอยู่ท้ายสุดเท่านั้น
function fn(a, b, ...rest) { }  // OK
function fn(...rest, a, b) { }    // SyntaxError: Rest parameter must be last
function fn(a, ...rest, b) { }    // SyntaxError

// ไม่สามารถมี rest parameter มากกว่า 1 ตัวต่อฟังก์ชัน
function fn(...a, ...b) { }       // SyntaxError

Rest Parameter ใน Arrow Functions

// Arrow function กับ rest parameter
const sum = (...numbers) => numbers.reduce((a, b) => a + b, 0);
console.log(sum(1, 2, 3, 4, 5));  // 15

// Destructuring กับ rest
const [first, ...rest] = [1, 2, 3, 4];
console.log(first);  // 1
console.log(rest);   // [2, 3, 4]

const { a, ...others } = { a: 1, b: 2, c: 3 };
console.log(a);      // 1
console.log(others); // { b: 2, c: 3 }