Cho đoạn code sau, kết quả là:
const a = {
stringField: 'Joe',
nestedField: { field: 'Nested' },
functionField: () => 'aReturn'
};
const b = Object.assign({}, a);
b.stringField = 'Bob';
b.nestedField.field = 'Changed';
b.functionField = () => 'bReturn';
console.log(
a.stringField,
a.nestedField.field,
a.functionField()
);
const a = {
stringField: 'Joe',
nestedField: { field: 'Nested' },
functionField: () => 'aReturn'
};
const b = Object.assign({}, a);
b.stringField = 'Bob';
b.nestedField.field = 'Changed';
b.functionField = () => 'bReturn';
console.log(
a.stringField,
a.nestedField.field,
a.functionField()
);
Chính xác
Xem lời giải
Suy nghĩ trả lời câu hỏi trước khi xem đáp án
ATNETWORK
Lời giải:
Báo saib = Object.assign({},a); sẽ thực hiện một shallow copy trên object a, bất kỳ thuộc tính nào của b là object đều tham chiếu đến cùng thuộc tính trong a. Vì vậy khi chúng ta thay đổi nested field của b, thì nested field của a cũng thay đổi theo.
Câu hỏi này thuộc ngân hàng trắc nghiệm dưới đây, bấm vào Xem chi tiết để làm toàn bài
250 Câu hỏi trắc nghiệm Javascript, CSS, HTML có đáp án
Tổng hợp 250 câu hỏi trắc nghiệm Javascript có đáp án đầy đủ nhằm giúp các bạn dễ dàng ôn tập lại toàn bộ các kiến thức.
ADMICRO
YOMEDIA
ZUNIA9