⊗jsPmROInr 294 of 505 menu

Toán tử rest trong JavaScript

Bài học này chúng ta sẽ bắt đầu với một số giải thích. Tất cả các bài học trước trong chuyên mục này tôi đã không nói với các bạn toàn bộ sự thật về toán tử ...

Trên thực tế, toán tử này tùy thuộc vào vị trí trong mã có thể được gọi là toán tử spread, hoặc toán tử rest.

Như bạn đã biết, khi toán tử spread đứng trước một mảng hoặc chuỗi, nó chia tách chúng thành các giá trị riêng lẻ. Toán tử rest, mặc dù có cú pháp giống nhau dưới dạng ..., nhưng được dùng cho mục đích khác.

Bây giờ chúng ta sẽ tìm hiểu xem nó dùng để làm gì. Giả sử chúng ta có một hàm, nhận hai tham số:

function func(a, b) { console.log(a); console.log(b); }

Bạn nên đã biết rằng nếu truyền vào hàm các tham số dư thừa, điều này sẽ không dẫn đến lỗi:

func(1, 2, 3, 4, 5);

Toán tử rest cho phép lấy tất cả các tham số dư thừa dưới dạng một mảng. Để làm điều này trong hàm cần thêm một tham số nữa (bắt buộc phải đứng cuối cùng), trước nó viết 3 dấu chấm:

function func(a, b, ...rest) { }

Ba dấu chấm này chính là toán tử rest, và tên biến có thể là bất kỳ tên nào, nhưng thông thường cũng được gọi là rest.

Hãy gọi hàm của chúng ta với số lượng tham số dư thừa và xem, cái gì rơi vào các tham số ab, và cái gì - vào phần còn lại rest:

func(1, 2, 3, 4, 5); function func(a, b, ...rest) { console.log(a); // in ra 1 console.log(b); // in ra 2 console.log(rest); // in ra [3, 4, 5] }

Nếu không có tham số dư thừa, thì vào biến rest sẽ được ghi một mảng rỗng:

func(1, 2); function func(a, b, ...rest) { console.log(a); // in ra 1 console.log(b); // in ra 2 console.log(rest); // in ra [] }

Trong hàm thậm chí có thể không có tham số nào, nhưng đồng thời có thể thêm rest vào nó. Trong trường hợp này hàm có thể được gọi với bất kỳ số lượng tham số nào và tất cả chúng sẽ rơi vào mảng rest:

function func(...rest) { console.log(rest); }
Tiếng Việt
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbek
Chúng tôi sử dụng cookie để vận hành trang web, phân tích và cá nhân hóa. Việc xử lý dữ liệu được thực hiện tuân theo Chính sách bảo mật.
chấp nhận tất cả tùy chỉnh từ chối