NỘI DUNG BÀI VIẾT
Giới thiệu
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
Kết luận
Như vậy trong Javascript ES6 thì bạn thoải mái trong việc truyền tham số vào function. Tuy nhiên cái nào cũng có hai mặt của nó, nếu bạn truyền với số lượng tham số không xác định thì rất khó nâng cấp và bảo trì, vì vậy tính năng này theo mình không nên sử dụng.
Các bạn có thể tham khảo các bài viết hay về JavaScript tại đây.
Hãy tham gia nhóm Học lập trình để thảo luận thêm về các vấn đề cùng quan tâm.