Destructuring, Rest Parameter và Spread Syntax?
Destructuring, Rest Parameter và Spread Syntax trong JavaScript
Destructuring, Rest Parameter và Spread Syntax là ba tính năng mạnh mẽ được giới thiệu trong ES6 (ECMAScript 2015) giúp bạn làm việc với các cấu trúc dữ liệu như mảng và đối tượng một cách ngắn gọn và dễ đọc hơn.
1. Destructuring:
Destructuring cho phép bạn giải nén các giá trị từ mảng hoặc thuộc tính từ đối tượng thành các biến riêng biệt.
Destructuring từ Mảng:
const numbers = [1, 2, 3];
const [x, y, z] = numbers;
console.log(x); // Output: 1
console.log(y); // Output: 2
console.log(z); // Output: 3Trong ví dụ này, chúng ta giải cấu trúc mảng numbers thành ba biến: x, y và z. Mỗi biến lấy giá trị tương ứng từ mảng.
Destructuring từ Đối tượng:
const person = { name: "Alice", age: 30 };
const { name, age } = person;
console.log(name); // Output: "Alice"
console.log(age); // Output: 30Ở đây, chúng ta giải cấu trúc đối tượng person và gán các thuộc tính name và age của nó cho các biến riêng biệt.
2. Rest Parameter:
Rest parameter cho phép bạn thu thập các phần tử hoặc thuộc tính còn lại từ một iterable (như mảng hoặc chuỗi) thành một mảng duy nhất.
Trong ví dụ này, hàm sum nhận hai tham số thông thường (x và y) và một rest parameter (...rest). Bất kỳ đối số nào còn lại được truyền cho hàm sẽ được thu thập vào mảng rest, sau đó có thể được lặp qua.
3. Spread Syntax:
Spread syntax cho phép bạn mở rộng một iterable (mảng hoặc chuỗi) thành các phần tử riêng lẻ trong một biểu thức khác.
Ở đây, chúng ta sử dụng spread syntax để kết hợp các phần tử của numbers1 và numbers2 thành một mảng mới có tên combinedNumbers.
Lợi ích chính:
Khả năng đọc: Destructuring, rest parameter và spread syntax có thể làm cho mã của bạn dễ đọc và dễ hiểu hơn bằng cách làm cho cách bạn làm việc với các cấu trúc dữ liệu rõ ràng hơn.
Súc tích: Các tính năng này thường có thể giảm lượng mã bạn cần viết để đạt được cùng chức năng.
Tính linh hoạt: Chúng cung cấp các cách linh hoạt để thao tác và trích xuất dữ liệu từ mảng và đối tượng.
Bằng cách sử dụng các tính năng này hiệu quả, bạn có thể viết mã JavaScript gọn gàng, dễ bảo trì và biểu cảm hơn.
Last updated