Tôi cố gắng để hiểu các chức năng mũi tên trong ECMAScript 6.này giá trị cho các chức năng mũi tên
Đây là định nghĩa tôi đi qua trong khi đọc:
chức năng mũi tên có tiềm ẩn
this
ràng buộc, có nghĩa là Giá trị của giá trịthis
bên trong một chức năng mũi tên là aways giống như giá trịthis
trong phạm vi trong đó chức năng mũi tên được xác định!
Theo định nghĩa, tôi tin rằng this
cho một arrow function
nên chứa các giá trị mức khối tương tự mà mũi tên hàm được định nghĩa trong
Mã số:.
var test = {
id: "123123",
k: {
laptop: "ramen",
testfunc:() => console.log(this)
}
}
console.log(test.k.testfunc);
Tuy nhiên, tôi nhận được kết quả này từ mã
function testfunc() {
return console.log(undefined);
}
Điều tôi nghĩ tôi sẽ g et sẽ là một sản phẩm của:
{"laptop": "ramen"}
nếu tôi chạy này
console.log(test.k.testfunc());
Khi sử dụng 'console.log (test.k.testfunc());' trong FF (lưu ý dấu ngoặc đơn ở cuối), tôi nhận tham chiếu đến cửa sổ. Đó là chính xác như khi xác định chức năng, phạm vi hiện tại là 'cửa sổ' trong trường hợp của tôi. – Sirko
điều này sẽ giúp giải thích: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/Arrow_functions "này". Xem những gì tôi đã làm ở đó? – LDJ