Bạn có thể phát tán một đối tượng javascript không?
Toán tử trải rộng JavaScript ( 6) cho phép chúng tôi sao chép nhanh chóng tất cả hoặc một phần của một mảng hoặc đối tượng hiện có sang một mảng hoặc đối tượng khác Show
Ví dụ
Tự mình thử » Toán tử trải phổ thường được sử dụng kết hợp với phá hủy Ví dụGán các mục đầu tiên và thứ hai từ 7 cho các biến và đặt phần còn lại vào một mảng
Tự mình thử » Chúng ta cũng có thể sử dụng toán tử trải rộng với các đối tượng Ví dụKết hợp hai đối tượng này
Tự mình thử » Lưu ý rằng các thuộc tính không khớp đã được kết hợp, nhưng thuộc tính khớp, 8, đã bị ghi đè bởi đối tượng cuối cùng được truyền, 9. Màu kết quả bây giờ là màu vàng Ở đây, cả hai biến arr1 và arr2 đều đề cập đến cùng một mảng. Do đó, sự thay đổi của một biến dẫn đến sự thay đổi của cả hai biến Tuy nhiên, nếu bạn muốn sao chép các mảng để chúng không tham chiếu đến cùng một mảng, bạn có thể sử dụng toán tử trải rộng. Bằng cách này, sự thay đổi trong một mảng không được phản ánh trong mảng khác. Ví dụ,
Toán tử trải rộng với đối tượngBạn cũng có thể sử dụng toán tử trải rộng với các đối tượng bằng chữ. Ví dụ,
Ở đây, cả hai thuộc tính 1 và 2 đều được thêm vào 3 bằng cách sử dụng toán tử trải rộngThông số nghỉ ngơiKhi toán tử trải rộng được sử dụng làm tham số, nó được gọi là tham số còn lại Bạn cũng có thể chấp nhận nhiều đối số trong một lệnh gọi hàm bằng cách sử dụng tham số còn lại. Ví dụ, ________số 8Đây,
Ghi chú. Sử dụng tham số còn lại sẽ truyền các đối số dưới dạng các phần tử mảng Bạn cũng có thể truyền nhiều đối số cho một hàm bằng cách sử dụng toán tử trải rộng. Ví dụ, 0Nếu bạn chuyển nhiều đối số bằng toán tử trải rộng, hàm sẽ nhận các đối số được yêu cầu và bỏ qua phần còn lại Trong hướng dẫn này, bạn sẽ tìm hiểu các cách khác nhau mà bạn có thể sử dụng toán tử trải rộng trong JavaScript và sự khác biệt chính giữa toán tử trải rộng và phần còn lại Được ký hiệu bằng ba dấu chấm ( 16), toán tử trải rộng JavaScript đã được giới thiệu trong ES6. Nó có thể được sử dụng để mở rộng các phần tử trong bộ sưu tập và mảng thành các phần tử riêng lẻ, đơn lẻToán tử trải rộng có thể được sử dụng để tạo và sao chép mảng và đối tượng, truyền mảng dưới dạng tham số hàm, loại bỏ các bản sao khỏi mảng, v.v. cú phápToán tử trải rộng chỉ có thể được sử dụng trên các đối tượng có thể lặp lại. Nó phải được sử dụng ngay trước đối tượng có thể lặp lại mà không có bất kỳ sự tách biệt nào. Ví dụ 2Thông số chức năngLấy ví dụ môn Toán. phương thức tối thiểu (). Phương thức này chấp nhận ít nhất một số làm tham số và trả về số nhỏ nhất trong số các tham số đã truyền Nếu bạn có một dãy số và bạn muốn tìm giá trị nhỏ nhất của các số này, thì không có toán tử trải phổ, bạn sẽ cần chuyển từng phần tử một bằng chỉ số của chúng hoặc sử dụng phương thức apply() để chuyển các phần tử của mảng . Ví dụ 1Xin lưu ý rằng tham số đầu tiên là 17, vì tham số đầu tiên được sử dụng để thay đổi giá trị của 18 của hàm gọiToán tử trải rộng là một giải pháp thuận tiện và dễ đọc hơn để chuyển các phần tử của một mảng dưới dạng tham số cho hàm. Ví dụ 6Bạn có thể thấy nó trong ví dụ trực tiếp này Xem Bút Tạo mảngToán tử trải rộng có thể được sử dụng để tạo các mảng mới từ các mảng hiện có hoặc các đối tượng có thể lặp khác bao gồm Biểu tượng. phương thức iterator(). Đây là những đối tượng có thể được lặp lại bằng cách sử dụng vòng lặp 19Ví dụ, nó có thể được sử dụng để sao chép các mảng. Nếu bạn chỉ gán một mảng mới giá trị của một mảng hiện có, thì việc thay đổi mảng mới sẽ cập nhật mảng hiện có 8Bằng cách sử dụng toán tử trải rộng, mảng hiện có có thể được sao chép thành một mảng mới và mọi thay đổi được thực hiện đối với mảng mới sẽ không ảnh hưởng đến mảng hiện có 9Cần lưu ý rằng điều này sẽ chỉ sao chép các mảng một chiều. Nó sẽ không hoạt động đối với các mảng đa chiều Toán tử trải rộng cũng có thể được sử dụng để nối nhiều mảng thành một. Ví dụ 0Bạn cũng có thể sử dụng toán tử trải rộng trên một chuỗi để tạo một mảng trong đó mỗi mục là một ký tự trong chuỗi 1Tạo đối tượngToán tử trải rộng có thể được sử dụng theo nhiều cách khác nhau để tạo đối tượng Nó có thể được sử dụng để sao chép một đối tượng khác. Ví dụ 2Nó cũng có thể được sử dụng để hợp nhất nhiều đối tượng thành một. Ví dụ 3Cần lưu ý rằng, nếu các đối tượng có cùng tên thuộc tính, thì giá trị của đối tượng cuối cùng sẽ được sử dụng. Ví dụ 4Toán tử trải rộng có thể được sử dụng để tạo một đối tượng từ một mảng, trong đó các chỉ số trong mảng trở thành thuộc tính và giá trị tại chỉ mục đó trở thành giá trị của thuộc tính. Ví dụ 10Nó cũng có thể được sử dụng để tạo một đối tượng từ một chuỗi, trong đó, tương tự, các chỉ mục trong chuỗi trở thành thuộc tính và ký tự tại chỉ mục đó trở thành giá trị của thuộc tính. Ví dụ 11Chuyển đổi một NodeList thành một mảngNodeList là tập hợp các nút, là các phần tử trong tài liệu. Các phần tử được truy cập thông qua các phương thức trong bộ sưu tập, chẳng hạn như 60 hoặc 61, không giống như mảngBạn có thể sử dụng toán tử trải rộng để chuyển đổi NodeList thành Array. Ví dụ 12Xóa các bản sao khỏi mảngĐối tượng Set là một bộ sưu tập chỉ lưu trữ các giá trị duy nhất. Tương tự như NodeList, một Tập hợp có thể được chuyển đổi thành một mảng bằng cách sử dụng toán tử trải rộng Vì Set chỉ lưu trữ các giá trị duy nhất nên nó có thể được ghép nối với toán tử trải rộng để loại bỏ các giá trị trùng lặp khỏi một mảng. Ví dụ 13Toán tử trải rộng vs Toán tử còn lạiToán tử còn lại cũng là toán tử ba chấm ( 16), nhưng nó được sử dụng cho mục đích khác. Toán tử còn lại có thể được sử dụng trong danh sách tham số của hàm để nói rằng hàm này chấp nhận một số lượng tham số không xác định. Các tham số này có thể được xử lý như một mảngVí dụ 14Trong ví dụ này, toán tử còn lại được sử dụng làm tham số của hàm 63. Sau đó, bạn lặp qua các phần tử trong mảng và cộng chúng lại để tính tổng của chúngSau đó, bạn có thể chuyển từng biến một cho hàm 63 làm đối số hoặc sử dụng toán tử trải rộng để chuyển các phần tử của một mảng làm đối số 15Phần kết luậnToán tử trải rộng cho phép bạn làm được nhiều việc hơn với ít dòng mã hơn, trong khi vẫn duy trì khả năng đọc mã. Nó có thể được sử dụng trên các đối tượng có thể lặp lại để truyền tham số cho hàm hoặc để tạo mảng và đối tượng từ các đối tượng có thể lặp lại khác đọc liên quan
Chia sẻ bài viết nàyDianne Pena Dianne là biên tập viên bản tin của SitePoint. Cô ấy đặc biệt thích tìm hiểu về JavaScript, CSS và các công nghệ front-end Chúng ta có thể trải rộng một đối tượng trong JavaScript không?Toán tử trải rộng JavaScript (. ) cho phép chúng ta sao chép nhanh chóng tất cả hoặc một phần của một mảng hoặc đối tượng hiện có sang một mảng hoặc đối tượng khác .
Tôi có thể sử dụng trải rộng cho đối tượng không?Cú pháp trải rộng có thể được sử dụng khi tất cả các phần tử từ một đối tượng hoặc mảng cần được đưa vào một mảng hoặc đối tượng mới hoặc nên áp dụng từng phần tử một trong một hàm .
Tôi có thể trải đối tượng thành mảng không?Giống như các tài liệu nói, theo "Đề xuất thuộc tính nghỉ ngơi/trải rộng", bạn không thể trải rộng các thuộc tính đối tượng lên một mảng , . Tương tự như vậy, các mảng sẽ không trải rộng trên một đối tượng, chúng sẽ chỉ trải rộng trên một mảng mới.
Tôi có thể sử dụng toán tử trải rộng để sao chép đối tượng không?Toán tử trải rộng, lần đầu tiên được giới thiệu trong ES6, được sử dụng để giải nén các phần tử của một iterable giống như một mảng. Nhân bản và hợp nhất mảng rất đơn giản nhờ toán tử trải rộng. Không thể sử dụng toán tử trải rộng với các đối tượng khi nó được giới thiệu lần đầu trong ES6 . |