ES6 Rest Parameter

Rest parameter trong ES6 giúp chúng ta có thể định nghĩa một hàm với số lượng tham số có thể thay đổi tuỳ ý. Hay nói theo cách khác khi chúng ta không biết chắc chắn số lượng tham số cần có của một hàm chúng ta có thể sử dụng rest parameter.

function f(param_1, param_2, ...rest_parameter) {
  // ...
}

Cú Pháp Rest Parameter

Rest parameter được phân biệt với các parameter thông thường thông qua 3 dấu chấm ... được đặt phía trước tên của parameter đặc biệt này:

function f(param_1, param_2, ...rest_parameter) {
  // ...
}

Ví dụ:

// Tham số "numbers" ở ví dụ dưới là một rest parameter
function sumNumbers(...numbers) {  
  console.log(numbers);
}

// Gọi hàm "sumNumbers()"
sumNumbers(2, 3); // [2, 3]
sumNumbers(2, 3, 100); // [2, 3, 100]

Sử Dụng Rest Parameter

Rest parameter nhóm tất cả các đối số truyền vào khi gọi hàm thành một array (bỏ qua các đối số truyền vào cho tham số thông thường của hàm).

function sumNumbers(message, ...numbers) {
  let total = 0;
  for (var i = 0; i < numbers.length; i++) {
    total += numbers[i];
  }
  console.log(message, total);
}

sumNumbers("Tổng là: ", 2, 3); // Tổng là:  5
sumNumbers("Giá trị của tổng là: ", 2, 3, 100); // Giá trị của tổng là:  105

Thêm Bình Luận