So Sánh Object Trong Javascript / Top 8 # Xem Nhiều Nhất & Mới Nhất 3/2023 # Top View | Channuoithuy.edu.vn

let thongDiep = ‘Xin Chào’; let chaoHoi = thongDiep; let thongDiep = ‘Xin Chào’; let chaoHoi = thongDiep; chaoHoi = ‘Hello’; console.log(thongDiep); console.log(chaoHoi);

Ở đây mình xin có một số lưu ý nhỏ là:

Đầu tiên chúng ta khai báo biến với giá trị là chuỗi ‘Xin Chào’.

Tiếp theo chúng ta khai báo biến có giá trị bằng với biến với giá trị là chuỗi ‘Xin Chào’.

Sau đó chúng ta thay đổi giá trị biến với chuỗi ‘Hello’.

let khachHang = { ten: “An” }; let nguoiDung = khachHang;

let khachHang = { ten: “An” }; let nguoiDung = khachHang;

Ở đây bạn có thể thấy điểm khác kiểu object(đối tượng) so với các kiểu dữ liệu còn lại là mỗi biến không trực tiếp lưu trữ biến như ví dụ của kiểu dữ liệu nguyên thủy(primitives) mà chúng chỉ cùng trỏ tới cùng một địa chỉ lưu trữ object(đối tượng).

let khachHang = { ten: “An” }; let nguoiDung = khachHang; chúng tôi = “Lan”; console.log(khachHang); console.log(nguoiDung)

let khachHang = { ten: “An” }; let nguoiDung = khachHang; chúng tôi = “Lan”; console.log(khachHang); console.log(nguoiDung)

Ở đây mình có lưu ý nhỏ là:

Chúng ta tạo một biến dùng tham chiếu đến object có thuộc tính .

Tiếp theo chúng ta cũng cho biến tham chiếu tới object có thuộc tính bằng cách let nguoiDung = khachHang;.

Và khi chúng ta thay đổi giá trị thuộc tính của biến thì giá trị thuộc tính của biến khachHang cũng sẽ bị thay đổi theo.

Qua cách so sánh như vậy mong phần nào sẽ giúp bạn hiểu rõ hơn về cách sao chép object trong javascript.

let khachHang = { ten: “An” }; let nguoiDung = khachHang; console.log(khachHang == nguoiDung); console.log(khachHang === nguoiDung);

let khachHang = { ten: “An” }; let nguoiDung = khachHang; console.log(khachHang == nguoiDung); console.log(khachHang === nguoiDung);

Qua đây chúng ta rút ra được là khi hai biến object cùng tham chiếu tới địa chỉ nơi lưu trữ object thì sẽ bằng nhau.

let khachHang = { ten: “An” }; let nguoiDung = { ten: “An” }; console.log(khachHang == nguoiDung); console.log(khachHang === nguoiDung);

let khachHang = { ten: “An” }; let nguoiDung = { ten: “An” }; console.log(khachHang == nguoiDung); console.log(khachHang === nguoiDung);

Qua đây chúng ta có thể suy ra là dù hai biến object có cùng dữ liệu nhưng tham chiếu tới địa chỉ lưu trữ khác nhau thì sẽ không bằng nhau.

Object.assign(target, source)

Object.assign(target, source)

Ở đây mình sẽ giải thích một số điểm cần lưu ý về cú pháp trên là:

Tham số target sẽ là object lưu trữ các dữ liệu được đưa vào.

Phương thức Object.assign() chỉ gán thuộc tính từ các object source chứ không xác định các thuộc tính mới cho object target.

let thongTin = { ten: “An” }; let lienLac = { email: “[email protected]” }; let khachHang = Object.assign({}, thongTin, lienLac); console.log(khachHang);

let thongTin = { ten: “An” }; let lienLac = { email: “[email protected]” }; let khachHang = Object.assign({}, thongTin, lienLac); console.log(khachHang);

Đầu tiên là chúng ta khai báo hai biến lưu trữ object với dữ liệu khác nhau là dùng để lưu trữ tên khách hàng và dùng để lưu trữ email khách hàng.

Sau đó chúng ta sử dụng phương thức Object.assign để gán các thuộc tính trong hai biến object và vào trong một object là .

Phương thức Object.assign sẽ trả về một object đã được gán hết các thuộc tính mà chúng ta cần sao chép.

Cuối cùng, chúng ta gán object đó cho biến khachHang và xuất ra ngoài màn hình như hình ảnh kết quả ở phía trên.

let thongTin = { ten: “An” }; let lienLac = { ten: “Lan”, email: “[email protected]” }; let khachHang = Object.assign({}, thongTin, lienLac); console.log(khachHang); let thongTin = { ten: “An” }; let khachHang = Object.assign({}, thongTin); console.log(khachHang);

let thongTin = { ten: “An” }; let lienLac = { ten: “Lan”, email: “[email protected]” }; let khachHang = Object.assign({}, thongTin, lienLac); console.log(khachHang); let thongTin = { ten: “An” }; let khachHang = Object.assign({}, thongTin); console.log(khachHang);

Vậy chúng ta rút ra kết luận là hai biến sẽ hoàn toàn độc lập với nhau và không cùng tham chiếu đến cùng địa chỉ lưu trữ object khi sử dụng phương thức Object.assign().

Tổng kết:

Xổ số miền Bắc