Toán tử spread phần 1
Thuộc phần Logic và luồng chương trình trong hành trình JavaScript của Coddy. Bài học 18 trên 65.
Toán tử spread (...) có nhiều cách sử dụng với JSON. Chẳng hạn, khi thực hiện thao tác sau:
const obj1 = {key1: "123"}
const obj2 = obj1
obj1.key1 = "456"
console.log(obj2.key1)Kết quả sẽ là gì?
console.log(obj2.key1)
// Đầu ra: "456"Điều này có thể khiến bạn ngạc nhiên! Dù chúng ta chỉ thay đổi obj1, obj2 cũng thay đổi.
Điều này xảy ra vì khi gán trực tiếp các đối tượng (obj2 = obj1), chúng ta tạo một tham chiếu chứ không phải bản sao. Cả hai biến đều trỏ đến cùng một đối tượng trong bộ nhớ.
Đây là lúc toán tử spread trở nên hữu ích. Hãy xem cách tạo một bản sao thực sự:
const obj1 = {key1: "123"};
const obj2 = {...obj1};
obj1.key1 = "456";
console.log(obj2.key1);
// Đầu ra: "123"Toán tử spread tạo một đối tượng mới và sao chép tất cả thuộc tính có thể liệt kê từ đối tượng nguồn sang đối tượng mới.
Tự làm thử
Bài học này không có thử thách code.
Bài học này có một bài trắc nghiệm ngắn. Bắt đầu bài học để trả lời và theo dõi tiến độ.
Tất cả bài học trong Logic và luồng chương trình
4JSON phần 2
Duyệt qua JSONJSON lồng nhauOptional chaining trong JSONSao chép nông và sâuÔn tập: Cửa hàng xe đạpÔn tập: Hệ Mặt Trời7Hệ thống quản lý thư viện
Tổng quan dự ánThêm sách10Quản lý hệ thống lễ hội
Tổng quan dự ánThêm phim và địa điểm2Mảng nhiều chiều
Kiến thức cơ bản về mảng 2 chiềuTruy cập phần tử trong mảng 2 chiềuVòng lặp lồng nhau với mảng 2 chiềuÔn tập về mảng 2 chiềuPhép cộng và phép trừ ma trậnMảng không đềuMảng 3 chiều và hơn nữaCác mẫu thường gặp với mảng 2 chiềuÔn tập về mảng3JSON phần 1
JSON là gì?Kiểm tra khóa có tồn tạiPhương thức của đối tượngToán tử spread phần 1Toán tử spread phần 2Xóa khóaÔn tập: thao tác với khóa trong JSONTự luyện tập: Trình biên dịch JavaScript online