Dus ik heb nog een praktisch voorbeeld van een echt gebruik geval voor het toevoegen van methoden om een ​​object.
Er is een populaire javascript library genaamd de underscore J.
Ja.
En we zullen meer over wat bibliotheken worden maar voor nu denken als gewoon een stelletje code praten.
Iemand anders schreef dat we kunnen gebruiken.
Dus alles wat onderstrepen is een bos van functies dat iemand anders geschreven heeft.
We kunnen ze hier zien.
Elk van deze is een andere functie.
Dus we hebben dingen zoals vinden elke Sommige bevat min max sorteren op en maakt eigenlijk niet uit hoe ze werken en wat ze doen.
Maar het is belangrijk dat ik je laten zien dat er veel van hen.
Dus underscore naam ruimten allemaal samen een groep van hen helemaal in plaats van een object met de naam underscore.
Gewoon om karakter te onderstrepen zodat u kunt zien dit is hoe je ze belt.
Onderstrepen maken dit een beetje groter underscore dot kaart onderstrepen dot te verminderen en dat is gewoon gedaan zodat al deze methoden zijn gegroepeerd, zodat u alles wat begint met underscore is afkomstig van deze underscore bibliotheek weten.
Je hebt het niet te schrijven zelf.
We zullen uiteindelijk praten over hoe we een bibliotheek importeren als underscore.
Je zult zien hoe we zelfs iets als underscore uiteindelijk kon schrijven.
Maar wat ik wil hier laten zien is niet de code zelf.
Ik wil alleen maar om het feit dat alles is gegroepeerd binnen van een underscore object te laten zien.
Dus in plaats van hond of kat ruimte ruimte besloten ze om een ​​heel korte memorabele karakter dat is underscore gebruiken.
Er is nog één ding dat ik wil in deze video dat is de sleutel woord te benadrukken dat zo in javascript is er een speciaal woord deze die we kunnen gebruiken in verschillende contexten om verschillende dingen te doen.
Dus om te laten zien wat het doet en hoe het werkt ga ik om verder te gaan en doe een snel voorbeeld.
Dus laten we veronderstellen dat ik het maken van een app die een aantal opmerkingen heeft en ik wil een aantal gemeenschappelijke data opgeslagen in plaats van een voorwerp, evenals een paar methodes zoals print of te verwijderen die ik wil op te slaan in plaats van een voorwerp ook.
Net zoals we zagen bij het spreken methode, dus ik ga een namespace genaamd reacties te definiëren.
Dus var zegt dat het gaat om een ​​object te zijn en ik ben gewoon gaan om te beginnen met het feit dat leeg.
Volgende Ik ga naar de eigenschap data die is gewoon een serie van reacties te bepalen.
Dus het is wat domme opmerkingen, net als dit.
En we druk op enter.
Dus hebben we opmerkingen als deze waar we slechts één eigendom gegevens en dat eigenschap heeft dat array heeft drie verschillende opmerkingen in.
Dus als ik wilde een methode genaamd druk wat ik kon doen is een functie definiëren afzonderlijk net als deze functie print en het duurt in een array te maken.
En alles wat ik wil doen is gewoon te annuleren dot loggen elke opmerking, dus ik kon doen op een vreemde manier waar ik kon worden afgedrukt en vervolgens deed ik gewoon een voor elk.
Dus array voor elke functie noemen het element.
En dan heb ik te annuleren dat logboek.
L Dus deze functie is op dit moment geen methode.
Het bestaat buiten mijn opmerkingen bezwaar en als ik wilde uitprinten gewone aandelen data zou ik moeten oplage en vervolgens doorgeven in reactie dot data.
Dus dat is wat we hebben gedaan tot op dit punt te definiëren onze functies afzonderlijk in de wereldwijde namespace venster.
Maar als ik wil toevoegen aan de opmerkingen bezwaar alles wat ik moet doen.
Ik bedoel kopiëren mijn code hier en ik ga hier terug te gaan en zeggen commentaar.
Print gelijk.
Je gaat mijn functie plakken en ik kan deze naam hier vertrekken.
Ik ga al van af te komen, want het is niet nodig om het te noemen.
Daar ook.
En in plaats van het te nemen een array als een argument ik het wil gebruiken wat we al hebben in plaats van de opmerkingen die we al hebben de gegevens in hetzelfde object.
Dus is er een manier voor mij om de gegevens in plaats van een object te delen.
Dus ik kan de gewone aandelen van gegevens gebruiken binnenkant van gewone aandelen af ​​te drukken.
En het antwoord is ja.
En dat is waar het dit zoekwoord komt.
Dus ik heb geen argument nodig.
Als ik alleen maar wil dat dit te doen is druk wat in voorkomende gegevens in plaats van een radar voor elk.
Ik kan eigenlijk dit schrijf dot gegevens.
Dus het sleutelwoord is dit een beetje lastig in verschillende situaties.
Het betekent verschillende dingen.
Zeker een van de quirkier delen van javascript.
Een groot deel van het interview vragen scherp te stellen.
Dus het is iets dat zelfs deskundigen zal worstelen met.
We gaan veel meer tijd doorbrengen met het sleutelwoord dat als we gaan vooruit als we leren over de gebeurtenissen als we praten over Jay-query en als we verhuizen naar de back-end en praten over databases ook.
Dus voor nu in dit geval het woord verwijst dit naar het object commentaar, dus laat ik je zien als ik druk op enter hier.
Laten we eens kijken naar wat de gemeenschappelijke er nu uitziet heeft twee dingen.
Data en array en dan is deze print-methode.
En vergeet niet dat de methode print is een verwijzing naar deze gegevens.
Dus wanneer we in een print deze verwijst naar het gehele object dat de gegevens heeft binnenkant van het.
Dus van deze gegevens is hoe we kunnen gaan van binnen uit een afdruk hebt toegang tot deze gegevens.
Dus om die methode nu alles wat ik moet doen is zeggen opmerkingen Prins gebruiken en krijgen we onze drie opmerkingen afgedrukt.
Dus wat ik heb net zien is echt een gemeenschappelijk patroon voor de manier waarop we de code te organiseren.
We kunnen wel wat data zetten binnenkant van een object en neem vervolgens de bijbehorende functies en functionaliteit en voeg ze als methoden om hetzelfde object en gebruik het sleutelwoord deze toegang tot de gegevens die wij vooraf gedefinieerde.
Als je het gevoel een beetje in de war over het sleutelwoord dit, dat is zeker te verwachten.
We hebben nog maar net krassen op het oppervlak.
En zoals ik al zei we gaan houden over en weer langskomen het.
Alles wat ik wil dat je begrijpt is dat er een trefwoord noemde dit.
Het is een beetje lastig.
En in een context degene die ik liet hier door het schrijven van deze in plaats van een werkwijze verwijst naar het object dat de werkwijze gedefinieerd.
OK dus dat is het voor voorwerpen voor nu.
Erg opwindend.