Chci geek triko! Chci geek triko!
Extra 10 % bodů navíc a tričko zdarma při zadání kódu "TRIKO10"

Diskuze: Co znamená "this"?

JavaScript JavaScript Co znamená "this"? American English version English version

Aktivity (1)
Avatar
Vojta Korduliak:24. října 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. října 21:23
Avatar
Honza Bittner
Šupák
Avatar
Odpovídá na Vojta Korduliak
Honza Bittner:24. října 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  +1 24. října 21:28
Milovník Dartu. Student FIT ČVUT. Sleduj mě na https://twitter.com/tenhobi a ptej se na cokoli na https://github.com/...
Avatar
Odpovídá na Vojta Korduliak
Vladislav Ladicky:24. října 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  +1 24. října 21:34
Avatar
Vojta Korduliak:24. října 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. října 21:35
Avatar
Honza Bittner
Šupák
Avatar
Odpovídá na Vojta Korduliak
Honza Bittner:24. října 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. října 21:38
Milovník Dartu. Student FIT ČVUT. Sleduj mě na https://twitter.com/tenhobi a ptej se na cokoli na https://github.com/...
Avatar
Vojta Korduliak:24. října 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. října 21:49
Avatar
Šimon Raichl
Redaktor
Avatar
Odpovídá na Vojta Korduliak
Šimon Raichl:24. října 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  +1 24. října 21:49
Avatar
gold604
Člen
Avatar
gold604:24. října 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. října 21:52
 
Nahoru Odpovědět  +1 24. října 21:51
Avatar
gold604
Člen
Avatar
Odpovídá na gold604
gold604:24. října 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. října 22:01
 
Nahoru Odpovědět 24. října 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.