Hướng dẫn what is a rest parameter in javascript? - tham số còn lại trong javascript là gì?
Cải thiện bài viết Show
Lưu bài viết Tham số REST là một cách cải tiến để xử lý tham số chức năng, cho phép chúng tôi dễ dàng xử lý các đầu vào khác nhau như tham số trong một hàm. Cú pháp tham số REST cho phép chúng tôi biểu diễn một số lượng đối số không xác định dưới dạng một mảng. Với sự trợ giúp của tham số REST, một hàm có thể được gọi với bất kỳ số lượng đối số nào, bất kể nó được xác định như thế nào. Tham số REST được thêm vào trong ES2015 hoặc ES6, đã cải thiện khả năng xử lý tham số.note: Để chạy mã trong bài viết này, sử dụng bảng điều khiển do trình duyệt cung cấp hoặc sử dụng một công cụ trực tuyến như repl.it.syntax: & nbsp; & nbsp; is an improved way to handle function parameter, allowing us to more easily handle various input as parameters in a function. The rest parameter syntax allows us to represent an indefinite number of arguments as an array. With the help of a rest parameter a function can be called with any number of arguments, no matter how it was defined. Rest parameter
is added in ES2015 or ES6 which improved the ability to handle parameter. function functionname(...parameters) //... is the rest parameter (triple dots) { statement; } Lưu ý: Khi ở cuối tham số chức năng, đó là tham số còn lại. Nó lưu trữ n số tham số dưới dạng một mảng. Hãy để xem cách tham số phần còn lại hoạt động: & nbsp; & nbsp; When … is at the end of function parameter, it is the rest parameter. It stores n number of parameters as an
array. Let’s see how the rest parameter works: JavaScript 7 8 9 0 1 2 3 4Output: Trong mã trên, sẽ không có lỗi nào được ném ngay cả khi chúng ta chuyển các đối số nhiều hơn các tham số, nhưng chỉ có hai đối số đầu tiên sẽ được đánh giá. Nó khác nhau trong trường hợp với tham số REST. Với việc sử dụng tham số REST, chúng tôi có thể thu thập bất kỳ số lượng đối số nào vào một mảng và thực hiện những gì chúng tôi muốn với chúng. JavaScript 7 8 9 8 9 0 1 2 3 9 2 9 0 1 2 0 1 2Output: Trong mã trên, sẽ không có lỗi nào được ném ngay cả khi chúng ta chuyển các đối số nhiều hơn các tham số, nhưng chỉ có hai đối số đầu tiên sẽ được đánh giá. Nó khác nhau trong trường hợp với tham số REST. Với việc sử dụng tham số REST, chúng tôi có thể thu thập bất kỳ số lượng đối số nào vào một mảng và thực hiện những gì chúng tôi muốn với chúng. function sum(a, b) { return a + b; } alert( sum(1, 2, 3, 4, 5) );7 function sumAll(...args) { // args is the name for the array let sum = 0; for (let arg of args) sum += arg; return sum; } alert( sumAll(1) ); // 1 alert( sumAll(1, 2) ); // 3 alert( sumAll(1, 2, 3) ); // 66 9 0 8 5 0 7 2Chúng tôi đã có thể nhận được tổng của tất cả các yếu tố mà chúng tôi nhập vào đối số khi chúng tôi gọi hàm fun (). Chúng tôi nhận được tổng của tất cả các phần tử trong mảng bằng cách sử dụng vòng lặp for..of được sử dụng để đi qua các phần tử có thể lặp lại bên trong một mảng. & Nbsp; Lưu ý: tham số còn lại phải là đối số cuối cùng, vì công việc của nó là thu thập tất cả các đối số còn lại thành một mảng. Vì vậy, có một định nghĩa hàm như mã bên dưới không có ý nghĩa gì và sẽ gây ra lỗi. & Nbsp; & nbsp; function sum(a, b) { return a + b; } alert( sum(1, 2, 3, 4, 5) );7 function sumAll(...args) { // args is the name for the array let sum = 0; for (let arg of args) sum += arg; return sum; } alert( sumAll(1) ); // 1 alert( sumAll(1, 2) ); // 3 alert( sumAll(1, 2, 3) ); // 66 9 0 8 9 2 9 4 9 6 9 8 9 0 1 2 2 4 5 6 7 6 1 6 1 6 3 4Output: Chúng tôi đã có thể nhận được tổng của tất cả các yếu tố mà chúng tôi nhập vào đối số khi chúng tôi gọi hàm fun (). Chúng tôi nhận được tổng của tất cả các phần tử trong mảng bằng cách sử dụng vòng lặp for..of được sử dụng để đi qua các phần tử có thể lặp lại bên trong một mảng. & Nbsp; Lưu ý: tham số còn lại phải là đối số cuối cùng, vì công việc của nó là thu thập tất cả các đối số còn lại thành một mảng. Vì vậy, có một định nghĩa hàm như mã bên dưới không có ý nghĩa gì và sẽ gây ra lỗi. & Nbsp; & nbsp; Nhiều chức năng tích hợp JavaScript hỗ trợ một số lượng đối số tùy ý. Ví dụ:
Trong chương này, chúng tôi sẽ học cách làm điều tương tự. Và ngoài ra, làm thế nào để chuyển các mảng đến các hàm như tham số. Thông số phần còn lại alert( Math.max(3, 5, 1) ); // 59Một hàm có thể được gọi với bất kỳ số lượng đối số, bất kể nó được xác định như thế nào. Như ở đây:
Sẽ không có lỗi vì các đối số quá mức của người Viking. Nhưng tất nhiên trong kết quả chỉ có hai cái đầu tiên sẽ được tính, vì vậy kết quả trong mã trên là 0.Phần còn lại của các tham số có thể được bao gồm trong định nghĩa hàm bằng cách sử dụng ba dấu chấm 9 theo sau là tên của mảng sẽ chứa chúng. Các dấu chấm có nghĩa đen là tập hợp các tham số còn lại thành một mảng.Chẳng hạn, để thu thập tất cả các đối số vào mảng 2:
Chúng ta có thể chọn để có được các tham số đầu tiên làm biến và chỉ thu thập phần còn lại. Ở đây hai đối số đầu tiên đi vào các biến và phần còn lại đi vào mảng 3:
Các tham số còn lại phải ở cuối Các tham số còn lại thu thập tất cả các đối số còn lại, vì vậy những điều sau đây không có ý nghĩa và gây ra lỗi:
4 phải luôn luôn là cuối cùng.Các đối số của "biến" biếnNgoài ra còn có một đối tượng giống như mảng đặc biệt có tên 5 chứa tất cả các đối số bằng chỉ mục của chúng.Ví dụ:
5 - Trả về các đối số lớn nhất. 6 - Bản sao thuộc tính từ 7 vào 8.…và như thế. Trong chương này, chúng tôi sẽ học cách làm điều tương tự. Và ngoài ra, làm thế nào để chuyển các mảng đến các hàm như tham số. Thông số phần còn lại Một hàm có thể được gọi với bất kỳ số lượng đối số, bất kể nó được xác định như thế nào. Như ở đây:
Sẽ không có lỗi vì các đối số quá mức của người Viking. Nhưng tất nhiên trong kết quả chỉ có hai cái đầu tiên sẽ được tính, vì vậy kết quả trong mã trên là 0.Phần còn lại của các tham số có thể được bao gồm trong định nghĩa hàm bằng cách sử dụng ba dấu chấm alert( Math.max(3, 5, 1) ); // 59 theo sau là tên của mảng sẽ chứa chúng. Các dấu chấm có nghĩa đen là tập hợp các tham số còn lại thành một mảng.Chẳng hạn, để thu thập tất cả các đối số vào mảng 2:Chúng ta có thể chọn để có được các tham số đầu tiên làm biến và chỉ thu thập phần còn lại. Ở đây hai đối số đầu tiên đi vào các biến và phần còn lại đi vào mảng 3:
Các tham số còn lại phải ở cuối Các tham số còn lại thu thập tất cả các đối số còn lại, vì vậy những điều sau đây không có ý nghĩa và gây ra lỗi:
4 phải luôn luôn là cuối cùng.Các đối số của "biến" biến Ngoài ra còn có một đối tượng giống như mảng đặc biệt có tên 5 chứa tất cả các đối số bằng chỉ mục của chúng.Vào thời xưa, các tham số REST không tồn tại trong ngôn ngữ và sử dụng 5 là cách duy nhất để có được tất cả các đối số của hàm. Và nó vẫn hoạt động, chúng ta có thể tìm thấy nó trong mã cũ.
Nhưng nhược điểm là mặc dù 5 vừa giống như mảng vừa được lặp lại, nhưng nó không phải là một mảng. Nó không hỗ trợ các phương thức mảng, vì vậy chúng tôi có thể gọi 8 chẳng hạn. 0Ngoài ra, nó luôn chứa tất cả các đối số. Chúng tôi có thể bắt giữ chúng một phần, giống như chúng tôi đã làm với các tham số REST. 1Vì vậy, khi chúng ta cần các tính năng này, thì các tham số REST được ưa thích. 2Các chức năng mũi tên không có 9Chẳng hạn, ở đây chúng tôi sử dụng cú pháp lan truyền để biến chuỗi thành mảng của các ký tự: 3Cú pháp lây lan bên trong sử dụng các trình lặp lại để thu thập các yếu tố, giống như 01.Vì vậy, đối với một chuỗi, 01 trả về các ký tự và 03 trở thành 04. Danh sách các ký tự được chuyển đến Bộ khởi tạo mảng 05.Đối với nhiệm vụ cụ thể này, chúng tôi cũng có thể sử dụng 06, bởi vì nó chuyển đổi một thứ có thể lặp lại (như một chuỗi) thành một mảng: 4Kết quả giống như 05.Nhưng có một sự khác biệt tinh tế giữa 08 và 09:
Vì vậy, đối với nhiệm vụ biến một cái gì đó thành một mảng, 06 có xu hướng phổ biến hơn.Sao chép một mảng/đối tượngBạn có nhớ khi chúng ta nói về 12 trong quá khứ không?
Có thể làm điều tương tự với cú pháp lan truyền. 5Lưu ý rằng có thể làm điều tương tự để tạo một bản sao của một đối tượng: 6Cách sao chép một đối tượng này ngắn hơn nhiều so với 13 hoặc đối với một mảng 14 vì vậy chúng tôi thích sử dụng nó bất cứ khi nào chúng tôi có thể.Bản tóm tắtKhi chúng ta thấy 15 trong mã, đó là các tham số REST hoặc cú pháp lan truyền.Có một cách dễ dàng để phân biệt giữa chúng:
Sử dụng các mẫu:
Họ cùng nhau giúp di chuyển giữa một danh sách và một loạt các tham số một cách dễ dàng. Tất cả các đối số của một cuộc gọi chức năng cũng có sẵn trong kiểu cũ kiểu cũ 5: đối tượng có thể lặp lại giống như mảng.
Tham số REST trong JavaScript với ví dụ là gì?Trong các hàm JavaScript, phần còn lại được sử dụng làm tiền tố của tham số cuối cùng của hàm. Dưới đây là một ví dụ: // Xác định một hàm với hai tham số thông thường và một tham số REST: function myBio (firstName, lastName, ... otherInfo) {return otherInfo; }a prefix of the function's last parameter. Here's an example: // Define a function with two regular parameters and one rest parameter: function myBio(firstName, lastName, ... otherInfo) { return otherInfo; }
Tham số REST trong JavaScript W3Schools là gì?Tham số REST (...) cho phép một hàm xử lý số lượng đối số không xác định dưới dạng mảng: 326.allows a function to treat an indefinite number of arguments as an array: 326.
Cái nào được sử dụng cho các tham số còn lại?Tham số REST được giới thiệu trong ECMAScript 2015 hoặc ES6, giúp cải thiện khả năng xử lý các tham số. Tham số REST cho phép chúng tôi biểu diễn một số lượng đối số không xác định dưới dạng một mảng. Bằng cách sử dụng tham số REST, một hàm có thể được gọi với bất kỳ số lượng đối số nào.ECMAScript 2015 or ES6, which improves the ability to handle parameters. The rest parameter allows us to represent an indefinite number of arguments as an array. By using the rest parameter, a function can be called with any number of arguments.
Tham số REST và toán tử lây lan trong JavaScript là gì?Toán tử lây lan cho phép chúng tôi phân tán giá trị của một mảng (hoặc bất kỳ điều gì có thể lặp lại) trên số 0 hoặc nhiều đối số trong một hàm hoặc phần tử trong một mảng (hoặc bất kỳ điều gì có thể lặp lại). Tham số REST cho phép chúng tôi chuyển một số tham số không xác định cho một hàm và truy cập chúng trong một mảng.
Tham số REST trong TypeScript là gì?Tham số REST cho phép chúng tôi chuyển số 0 hoặc bất kỳ số lượng đối số nào của loại được chỉ định cho một hàm.Trong định nghĩa hàm trong đó chúng tôi chỉ định tham số chức năng Các tham số REST phải luôn luôn đến cuối cùng hoặc trình biên dịch TypeScript sẽ tăng lỗi.allows us to pass zero or any number of arguments of the specified type to a function. In the function definition where we specify function parameters rest parameters should always come at last or the typescript compiler will raise errors.
Tham số lan truyền trong JavaScript là gì?Cú pháp lan truyền (...) cho phép có thể lặp lại, chẳng hạn như một mảng hoặc chuỗi, được mở rộng ở những nơi không có hoặc nhiều đối số (cho các cuộc gọi chức năng) hoặc các phần tử (đối với các chữ cái) được mong đợi.allows an iterable, such as an array or string, to be expanded in places where zero or more arguments (for function calls) or elements (for array literals) are expected. |