Spread Operator được ký hiệu bằng ba dấu chấm ...
. Khi được sử dụng, Spread Operator giúp chúng ta “mở rộng” một mảng hoặc đối tượng ra thành các phần tử riêng lẻ. Vì vậy, chúng ta có thể truyền các phần tử này vào một mảng mới, kết hợp mảng hoặc sử dụng như đối số cho một hàm.
Sao chép mảng : Với Spread Operator, chúng ta có thể sao chép một mảng một cách nhanh chóng và dễ dàng.
const numbers = [1, 2, 3];
const copiedNumbers = [...numbers];
console.log(copiedNumbers); // Output: [1, 2, 3]
Kết hợp mảng : Spread Operator cũng cho phép chúng ta kết hợp nhiều mảng thành một mảng duy nhất.
const arr1 = [1, 2, 3];
const arr2 = [4, 5, 6];
const combinedArray = [...arr1, ...arr2];
console.log(combinedArray); // Output: [1, 2, 3, 4, 5, 6]
Thêm phần tử vào mảng : Sử dụng Spread Operator, chúng ta có thể thêm một hoặc nhiều phần tử vào một mảng hiện có.
const originalArray = [1, 2, 3];
const newArray = [...originalArray, 4, 5];
console.log(newArray); // Output: [1, 2, 3, 4, 5]
Spread Operator không chỉ có thể được sử dụng với mảng, mà còn với đối tượng. Khi sử dụng Spread Operator với đối tượng, chúng ta có thể sao chép các thuộc tính của đối tượng gốc và thêm mới, cập nhật thuộc tính.
const person = { name: 'John', age: 25 };
const updatedPerson = { ...person, age: 26, gender: 'Male' };
console.log(updatedPerson);
// Output: { name: 'John', age: 26, gender: 'Male' }
Trong ví dụ trên, chúng ta đã sao chép đối tượng person
và thay đổi giá trị của thuộc tính age
thành 26 và thêm một thuộc tính mới gender
.
Spread Operator cũng rất hữu ích khi truyền đối số vào một hàm. Với Spread Operator, chúng ta có thể truyền một mảng vào các đối số của một hàm.
function sum(a, b, c) {
return a + b + c;
}
const numbers = [1, 2, 3];
const result = sum(...numbers);
console.log(result); // Output: 6
Trong ví dụ trên, chúng ta đã truyền mảng numbers
vào hàm sum
bằng cách sử dụng Spread Operator. Các phần tử trong mảng sẽ tương ứng với các đối số của hàm.