Čo je to „toto“ kľúčové slovo v JavaScripte?
Ako vieme, že objekty sú základné stavebné bloky v JavaScripte, existuje špeciálny objekt, ktorý sa tiež nazýva „tento“ objekt, a hodnotu „toto“ je možné vidieť na každom riadku vykonávania JavaScriptu, o čom sa znova rozhoduje na základe toho, ako je kód popravený. V tejto téme sa do JavaScriptu dozvieme viac o „tomto“ kľúčovom slove.
Dôležitosť „tohto“ kľúčového slova v JavaScripte
- 'Tento' objekt v JavaScripte má veľa dôležitých úloh a použití. Používa sa predovšetkým na označenie inštancie objektu z jeho vlastnej metódy alebo konštruktora. Spolu s ukazovaním môže byť toto použité aj na sledovanie vykonávania kontextu, ktoré je založené na tom, kde sa funkcia volá.
- Ďalšou vecou funkcie „táto“ v skripte JavaScript je, že sa môže zmeniť odkaz na kontext vykonávania. A nakoniec, spojenie s kontextom vykonávania sa dá vytvoriť aj vtedy, keď sa naň odkazuje pomocou funkcie spätného volania, aj keď je táto funkcia definovaná vo vnútri objektu konštruktora.
Prečo používať toto kľúčové slovo v jazyku JavaScript?
- V JavaScripte sa toto kľúčové slovo používa v mnohých kontextoch na čo najlepšie využitie kontextu. „Toto“ kľúčové slovo sa v zásade používa na označenie nejakého objektu alebo funkcie v JavaScripte. Rovnako ako samotné slovo (toto), môžeme pochopiť, že to odkazuje na niečo. Aby sme to lepšie pochopili praktickým spôsobom, môžeme zvážiť príklad, ktorý pán X hral na krikete a vyhral hru.
- Takže namiesto opätovného použitia pána X sme použili slovo „on“, ktorý odkazuje iba na pána X. Pomáha nám to nespomenúť to isté znova a znova. Rovnakým spôsobom, v JavaScripte môžeme tiež použiť 'túto' funkciu alebo objekt na odkázanie na inú funkciu alebo objekt s vyvolaním hodnoty v tejto funkcii alebo objekte. Zvyčajne sa „toto“ používa vo funkcii alebo metóde, ale môže sa použiť aj mimo funkcie (v rámci globálneho rozsahu).
Ako používať toto kľúčové slovo?
- Ako vieme, že JavaScript je skriptovací jazyk, takže nie je potrebné kompilovať kódy, vykonáva sa za behu. Môže byť vykonaná priamo tlmočníkom, riadok po riadku. A prostredie alebo rozsah, v ktorom sa vykonávajú kódy JavaScript, sa nazýva „kontext vykonávania“.
- Runtime JavaScriptu udržuje hromadu vykonávacích kontextov a udržuje aktuálny stack na vrchu. Objekt, ktorý sa označuje ako „toto“, sa zmení vždy, keď sa zmení kontext vykonávania.
- Jednoducho môžeme predpokladať, že keď sa funkcia vytvára súčasne, vytvára sa aj kľúčové slovo „this“ (za scénou), ktoré odkazuje na objekt, v ktorom funkcia funguje. Kľúčové slovo „toto“ funguje v jazyku JavaScript odlišne od iných programovacích jazykov.
Má rôzne hodnoty v závislosti od toho, kde ich používame, napríklad:
- „toto“ sa v metóde týka objektu vlastníka.
- „toto“ sa vzťahuje na globálny objekt v samotnej situácii.
- „toto“ sa vzťahuje aj na globálne objekty v jednoduchej funkcii.
- „toto“ sa vzťahuje na prvok udalosti, ktorý udalosť dostane.
- 'this' je nedefinované vo funkcii prísneho režimu.
1. Používa sa s poľom
Príklad : Nižšie, 'this' odkazuje na objekt nazývaný osoba. Osoba je vlastníkom metódy fullName.
var employee = (
firstName: “Raju”,
lastName: “Chaudhury”,
id: 123
fullName: function() (
return this.firstName + “ ” + this.lastName;
)
)
Stručný príklad pre pole formulára:
check to alert this object name
Zadajte svoje meno a začiarknite nižšie uvedenú možnosť rádia
Začiarknutím tejto možnosti upozorníte na zadanie textového poľa
Pri otváraní formulára si všimnite obsluhy udalosti pri odoslaní a uvidíte akciu vykonanú po kliknutí na tlačidlo odoslania
2. Používa sa na vyvolanie konštruktora
Keď použijeme kľúčové slovo „nové“ na vytvorenie inštancie pre funkčný objekt, potom túto funkciu použijeme ako konštruktor.
V nižšie uvedenom príklade deklarujeme funkciu Bike a potom ju vyvoláme ako konštruktora:
function Bike(name)(
this.name = name;
)
Bike.prototype.getName = function()(
return this.name;
)
var bike = new Bike('Pulsar');
console.log(bike.getName());
Vo vyššie uvedenom príklade je nový Bike („Pulsar“) konštruktorom funkcie Bike. Tu JavaScript vytvorí nový objekt a vloží „toto“ kľúčové slovo do novovytvoreného objektu. Takže teraz môžeme vyvolať Bike () ako funkciu alebo ako konštruktor. V prípade, že odstránime „nové“ kľúčové slovo, zobrazí sa chyba uvedená nižšie:
var bajaj = Bike('Bajaj');
console.log(bajaj.name);
/ * Zobrazí sa ako TypeError: Nedá sa prečítať 'meno' vlastnosti 'nedefinovanej * /
Pretože funkcia Bike () sa vloží do globálneho objektu, výsledky bajaj.name nebudú definované.
Aby funkcia Bike () bola vždy vyvolaná pomocou konštruktora, skontrolujeme na začiatku funkcie Bike () nasledovne:
function Bike(name)(
if( ! (this instanceof Bike)(
throw Error(“We should use new operator to call a function”);
)
this.name = name;
)
Existuje metaproperty známe ako „new.target“, ktorá umožňuje zistiť, či je funkcia vyvolaná ako jednoduché vyvolanie alebo konštruktor.
Tu môžeme upraviť funkciu Bike (), ktorá používa metaproperty new.target, ako je uvedené nižšie
function Bike(name)(
if( ! new.target)(
throw Error(“We should use new operator to call a function”);
)
this.name = name;
)
3. Používa sa na vrátenie aktuálnej inštancie triedy
Výraz triedy je tiež spôsob, ako definovať triedu v JavaScripte. Môže byť tiež pomenovaný alebo nemenovaný. Pomenovaný je lokálny pre jeho telo triedy at je možné získať pomocou vlastností triedy.
/ * príklad pre nemenovaný výraz triedy * /
let Mobile = class (
constructor(cost, weight)(
this.cost = cost;
this.weight = weight;
)
);
console.log(Mobile.name); //Output: Mobile
/ * príklad pomenovaného výrazu triedy * /
let Mobile = class Mobile2(
constructor(cost, weight)(
this.cost = cost;
this.weight = weight;
)
);
console.log(Mobile.name);
Výstup: Mobile2
4. Používa sa ako parameter metódy
Keď zavoláme metódu objektu, JavaScript vloží „to“ k objektu, ktorý vlastní metódu.
Príklad:
var Bike = (
name: 'Pulsar',
getName: function()(
return this.name;
)
)
console.log(bike.getName()); /*Pulsar*/
Táto vnútorná metóda getName () sa tu vzťahuje na objekt bicykla.
záver
Kľúčové slovo „toto“ v JavaScripte je výkonný nástroj, ktorý vývojárom zvyčajne pomáha odkazovať vlastnosti v konkrétnych kontextoch, ale niekedy môže byť dosť zložitý, keď sa uplatňujú v rôznych úrovniach rozsahu. Hodnota „this“ sa dá tiež explicitne nastaviť pomocou call (), bind () a apply (). Hodnota „this“ sa zvyčajne určuje podľa kontextu vykonávania funkcie. Šípkové funkcie zvyčajne 'neviažu' a namiesto toho 'toto' je zviazané lexikálne.
Odporúčané články
Toto je sprievodca „týmto“ kľúčovým slovom v JavaScripte. Tu diskutujeme dôležitosť a spôsob použitia tohto kľúčového slova v jazyku JavaScript spolu s príkladom. Môžete sa tiež pozrieť na nasledujúci článok.
- Zapuzdrenie do JavaScriptu
- Vloženie Zoradiť v JavaScripte
- Palindróm v JavaScripte
- Kompilátory JavaScriptu
- toto kľúčové slovo v jave | Príklady tohto kľúčového slova
- Pravidlá inštancieOf v Jave s príkladom