Hãy cho biết kết quả đoạn code sau?
Hãy cho biết kết quả đoạn code sau?
const shape = {
radius: 10,
diameter() {
return this.radius * 2;
},
perimeter: () => 2 * Math.PI * this.radius,
};
shape.diameter();
shape.perimeter();
20
and 62.83185307179586
20
and NaN
20
and 63
NaN
and 63
Chú ý rằng giá trị diameter
là một hàm thông thường, còn perimeter
là một arrow function.
Không giống như hàm thông thường, với arrow function, biếnthis
sẽ trỏ tới surrounding scope! Có nghĩa là khi chúng ta gọi perimeter
, nó sẽ không được gọi bởi shape object, mà nó được gọi bởi object nào đó tại surrounding scope (ví dụ window
chẳng hạn).
Khi không có giá trị radius
tại object đó, nó sẽ trả về undefined
.
middle
Gợi ý câu hỏi phỏng vấn
Chưa có bình luận nào