Cú pháp literal object mở rộng Javascript (phần 5)

Toán tử spread

Trong ES2018 và sau này, bạn có thể copy các đặc tính của một object đang tồn tại vào một object mới sử dụng toán
tử spread … bên trong một object literal:

let position = { x: 0, y: 0 };
let dimensions = { width: 100, height: 75 };
let rect = { …position, …dimensions };
rect.x + rect.y + rect.width + rect.height // => 175

Trong code này, các đặc tính của các objects position và dimensions đã được trải ra ngoài vào rect object literal
như thể là chúng đã được viết nghĩa đen bên trong các { } đó. Chú ý rằng cú pháp … này thường được gọi là một
toán tử spread nhưng không phải là một toán tử Javascript thực theo bất kì nghĩa nào. Thay vào, nó là một cú pháp
trường hợp đặc biệt có sẵn chỉ bên trong các object literals. (Ba dấu chấm được sử dụng cho các mục đích khác trong
các bối cảnh Javascript khác, nhưng các object literals là bối cảnh duy nhất nơi ba dấu chấm gây ra loại thêm vào này
của một object vào cái khác).

Chia sẻ