Giải thích về phép gán qua giá trị và phép gán qua tham chiếu trong Javascript?
Giải thích về phép gán qua giá trị và phép gán qua tham chiếu trong Javascript?
Trong JavaScript, kiểu dữ liệu nguyên thuỷ được gán với giá trị, còn kiểu đối tượng được gán bằng tham chiếu.
Trước tiên, ta cần hiểu về điều gì xảy ra khi ta tạo một biến và gán giá trị cho nó.
var x = 2;
Trong ví dụ trên, ta tạo một biến x
và gán nó giá trị là "2". Phép "=" chỉ định một vài không gian trong bộ nhớ, để lưu trữ giá trị là "2" và trả về vị trí được chỉ định trong bộ nhớ. Do đó, biến x
ở trên trỏ đến vị trí trong bộ nhớ thay vì trỏ trực tiếp đến giá trị 2.
Phép gán thực hiện hành vi khác nhau khi làm việc với kiểu nguyên thuỷ và kiểu đối tượng.
Phép gán với kiểu nguyên thuỷ
var y = 234;
var z = y;
Ở ví dụ này, dòng đầu phép gán giá trị cho y
là kiểu nguyên thuỷ, sau đó ở dòng thứ hai, giá trị của y
được gán cho z
. Phép gán chỉ định một vùng không gian mới trong bộ nhớ và trả về địa chỉ của nó. Do đó, biến z
không chỉ đến vị trí của biến y
thay vào đó nó chỉ đến vùng không gian mới trong bộ nhớ.
var y = #8454; // y pointing to address of the value 234
var z = y;
var z = #5411; // z pointing to a completely new address of the value 234
// Changing the value of y
y = 23;
...
middle
Gợi ý câu hỏi phỏng vấn
Chưa có bình luận nào