This-arvo (2/3)
Propertynä kutsuttuna this-arvo on .-operaattorin vasemmanpuoleinen arvo:
.-operaattorin vasemmanpuoleinen arvo:obj.f(); // f-funktion sisällä: this === objEi ole merkitystä, miten funktio on liitetty objektiin tai tuleeko funktio objektin prototypestä
This-arvo kadotetaan, jos kutsua ei tehdä välittömästi:
const f = obj.f;
f(); // f-funktion sisällä: this === undefinedVoidaan luoda kokonaan uusi funktio ja hyödyntää näkyvyysalueita, jotta kutsu tehdään .-notaatiolla:
.-notaatiolla:const g = function() {
obj.f(); // f-funktion sisällä: this === obj
};
g();Tavallisen funktion this-arvo voidaan lukita:
const g = obj.f.bind(obj);
g(); // f-funktion sisällä: this === objArvoon
gasetetaan funktiostafversio, jonka this-arvo on lukittu viittaamaan arvoonobj
ES2015 arrow-funktiot helpottavat this-arvon käsittelyä.
Last updated