toto klíčové slovo v JS

Jak víme Execution Context (EC) sestávají z

  • Proměnné prostředí
  • Řetězec rozsahu
  • toto klíčové slovo

Pojďme tedy toto klíčové slovo prozkoumat více.

  1. "toto " klíčové slovo /proměnná v JS.
  • toto je speciální proměnná, která se vytváří pro každý kontext provedení (EC) tj. pro každou funkci.

  • toto má hodnotu (nebo ukazuje na) vlastníka funkce, ve které je "toto " je použito klíčové slovo.

  • Pamatujte si "toto" není statická, závisí na tom, jak je funkce volána, a její hodnota je přiřazena pouze tehdy, když je funkce skutečně volána.

Jak víme, funkci lze volat 4 různými způsoby

a. metoda => this =<objekt, který metodu volá>

  • Příklad:


Call to the function moreshwar.calcAge();

Poznámka :Hodnota _*toto * _should / je moreshwar

  • Jak nyní můžeme říci, že toto je objekt, který volá metodu.

  • Takže pomocí tohoto nyní máme přístup k vlastnostem objektu. Přístup k vlastnostem pomocí (toto ) je mnohem lepší řešení.

b. Jednoduché volání funkce:kde toto =nedefinováno

Note: its is valid only for strict mode

Př.

  • Pokud není přísný režim, toto bude ukazovat na globální objekt / objekt Windows. Což pak může být více problematické.

  • To je důvod, proč bychom měli vždy používat přísný režim .

c. Volání funkce pomocí funkce Arrow

  • tj. ArrowFunctionName => =<toto funkce ozvučení (lexikální toto)>

  • Ve funkci Arrow nezíská "toto klíčové slovo ".

    ."

d.
EventListner => this = <DOM elements that handler is attachedto>

  1. Toto tedy nikdy nebude ukazovat na funkci, kde ji používáme, by ukazovalo na objekt (rodičovský objekt).

  2. Také „toto Klíčové slovo " nikdy nebude ukazovat na proměnné prostředí funkce.

  3. "toto." " klíčové slovo v globálním rozsahu je vždy Windows Objekt, díky kterému je toto klíčové slovo dynamické ne statické.