sto cercando di capire le funzioni di direzione in ECMAScript 6.Questi valori per le funzioni di direzione
Questa è la definizione mi sono imbattuto durante la lettura:
funzioni Freccia avere implicita
this
vincolante, il che significa che il il valore del valorethis
all'interno di una funzione freccia è lo uguale al valore dithis
nell'ambito in cui è definita la funzione di freccia !
Secondo la definizione, credo this
un arrow function
deve contenere questi valori a livello di blocco che la funzione freccia è stata definita nel
Codice:.
var test = {
id: "123123",
k: {
laptop: "ramen",
testfunc:() => console.log(this)
}
}
console.log(test.k.testfunc);
Tuttavia, io sono sempre questo risultato dal codice
function testfunc() {
return console.log(undefined);
}
Quello che pensavo avrei g et sarebbe una potenza di:
{"laptop": "ramen"}
se ho eseguito questo
console.log(test.k.testfunc());
Quando si utilizza 'console.log (test.k.testfunc());' in FF (si noti la parentesi alla fine), ottengo un riferimento alla finestra. Quale è corretto come quando si definisce la funzione, l'ambito corrente era 'window' nel mio caso. – Sirko
questo dovrebbe aiutare a spiegare: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/Arrow_functions "questo". Vedi cosa ho fatto lì? – LDJ