Forskellen mellem JavaScript's opkalds-, anvendelses- og bindemetoder

Lad os bore det i vores sind og være færdige med det en gang for alle.

Jeg skriver dette mikroindlæg, fordi det førnævnte spørgsmål har hjemsøgt mig i meget lang tid, og jeg vidste, at jeg ikke var den eneste. Hver eneste gang jeg så nogen bruge nogen af ​​de tre metoder, måtte jeg skynde mig til MDN for at finde ud af, hvad der foregik.

Nok var nok. Jeg vidste, at jeg var nødt til at gøre noget, og det gjorde jeg. Jeg har angiveligt oprettet en ordsprogsølvkugle, der kan hjælpe nye JavaScript-udviklere ud.

Ansvarsfraskrivelse : Dette er ikke en teoretisk løsning, men en virkelig hacky måde at huske forskellen på.

Den væsentligste årsag til forvirring mellem call()og apply()metoderne er, hvordan man tilføjer de yderligere argumenter udover this. Og hvorfor har vi bind()alligevel?

Så lad os lære at let skelne de tre fra hinanden.

Ansøge()

apply(this [, [arg1, arg2,...]]): Opkald til en funktion med en angivet thisværdi. Yderligere argumenter leveres som et enkelt array .

Måde at huske : “ A accepterer argumenter som A- stråler” eller “ AA

Opkald()

call(this [, arg1, arg2...]): Opkald til en funktion med en forudsat this. Yderligere argumenter gives som en kommasepareret liste

Måder at huske: “Opkaldets argumenter adskilles med kommaer” eller “ CC ”.

Binde()

bind(this): Returnerer en ny funktion, hvis thisværdi er bundet til den angivne værdi.

Måder at huske: bind () er den eneste metode ud af de tre, der returnerer en ny funktion helt. Funktionen kaldes ikke.

Pak ind

Jeg håber ovenstående forklaring kan hjælpe nogle af jer derude. Det hjælper bestemt mig.

Har du andre memoriseringstricks relateret til programmering? Del det venligst med samfundet, da det vil hjælpe alle ud. Især under disse interviews.

Hvis du har spørgsmål eller tvivl, slå mig op på Twitter @ rajat1saxena eller skriv til mig på [email protected] Anbefal dette indlæg, hvis du kunne lide det og del det med dit netværk.