Cho đoạn code sau. Kết quả là:
let dog = {
breed: 'Border Collie',
sound: 'Wooh',
getBreed: () => {
return this.breed;
},
getSound: function() {
return this.sound;
}
};
console.log(dog.getBreed(), dog.getSound());
let dog = {
breed: 'Border Collie',
sound: 'Wooh',
getBreed: () => {
return this.breed;
},
getSound: function() {
return this.sound;
}
};
console.log(dog.getBreed(), dog.getSound());
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 saithis trong một Arrow functions không được bind như trong một function bình thường mà this được thừa hưởng từ scope bên ngoài của nó (lexical scoping). Đó là lý do tại sao this trong function getBreed không phải là object dog mà là global object, ở trình duyệt là window object, nên this.breed trả về undefined.
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