Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.
Pouze tento týden sleva až 80 % na e-learning týkající se Swiftu. Zároveň využij výhodnou slevovou akci až 30 % zdarma při nákupu e-learningu - více informací.
discount 30 + hiring

Diskuze: Co znamená "this"?

Aktivity
Avatar
Vojta Korduliak:24.10.2018 21:23

Ahoj,

učím se javascript a byl jsem v 10. dílů (Editor tabulek v JavaScriptu), když jsem narazil na věc co nechápu a co tam (nejspíš) není vysvětlená. Jedná se o toto
Mohl by mi to prosím někdo jednoduše vysvětlit?

 
Odpovědět
24.10.2018 21:23
Avatar
Honza Bittner
Tvůrce
Avatar
Odpovídá na Vojta Korduliak
Honza Bittner:24.10.2018 21:28

Však to u toho máš vysvětlené, viz poslední větu, resp. obsah závorky. Co chceš k tomu dodat? :-)

Nahoru Odpovědět
24.10.2018 21:28
Student FIT ČVUT :-) Sleduj mě na https://twitter.com/tenhobi a ptej se na cokoli na https://github.com/tenhobi/ama.
Avatar

Člen
Avatar
Odpovídá na Vojta Korduliak
:24.10.2018 21:34

Páči sa mi tá veta s linkom "Jedná se o toto". Ani nevieš ako si sa trafil, ono sa naozaj jedná práve o "toto" :D

 
Nahoru Odpovědět
24.10.2018 21:34
Avatar
Vojta Korduliak:24.10.2018 21:35

Možná jsem trochu nechápavý, ale je to na mě moc složitě vysvětlené.

A ano.. vím :D

 
Nahoru Odpovědět
24.10.2018 21:35
Avatar
Honza Bittner
Tvůrce
Avatar
Odpovídá na Vojta Korduliak
Honza Bittner:24.10.2018 21:38

V JavaScriptu je řešený kontext trochu jinak, něž jak bys čekal (a možná i než ve většině jazyků). Tady jen autor upozorňoval na to, že klíčové slovo this odkazuje na daný <input>, viz tdInput.onFocus, který vyvolal událost. Tedy ten input, na který jsi klikl či se přesunul tabem.

Akceptované řešení
+20 Zkušeností
+1 bodů
Řešení problému
Nahoru Odpovědět
24.10.2018 21:38
Student FIT ČVUT :-) Sleduj mě na https://twitter.com/tenhobi a ptej se na cokoli na https://github.com/tenhobi/ama.
Tento výukový obsah pomáhají rozvíjet následující firmy, které dost možná hledají právě tebe!
Avatar
Vojta Korduliak:24.10.2018 21:49

Jó už to chápu...
Já jen nevěděl jak ta tabulka bude přesně fungovat a co dělá to "this".

Děkuji za pomoc.

 
Nahoru Odpovědět
24.10.2018 21:49
Avatar
Šimon Raichl
Tvůrce
Avatar
Odpovídá na Vojta Korduliak
Šimon Raichl:24.10.2018 21:49

Jak rika Honza Bittner, this se da pouzit ruzne, ono to muzes i zapsat treba takhle

tdInput.addEventListener("focus", e => {
    aktivniBunka = e.target;
});

Mimochodem this se da taky pouzit pri definovani vlastnosti tridy, coz je treba taky celkem neobvykly, ze je muzes definovat primo v konstruktoru:

class Example {
    constructor() {
        this.property = "value";
    }

    getProperty() {
        return this.property;
    }
}
 
Nahoru Odpovědět
24.10.2018 21:49
Avatar

Člen
Avatar
:24.10.2018 21:51

Ak vieš po anglicky, MDN web docs je super zdroj, ak by si niečo v JS nerozumel. Tu písali o this: https://developer.mozilla.org/…erators/this

Editováno 24.10.2018 21:52
 
Nahoru Odpovědět
24.10.2018 21:51
Avatar

Člen
Avatar
Odpovídá na
:24.10.2018 22:00

Konkrétnejšie si pozri túto sekciu https://developer.mozilla.org/…erators/this#… - keď funkcia v ktorej this používaš je využitá ako DOM event handler.

Editováno 24.10.2018 22:01
 
Nahoru Odpovědět
24.10.2018 22:00
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 9 zpráv z 9.