JavaScript Jargon 10 Termes à connaître
De currying à fermetures Il existe un grand nombre de jargons JavaScript (mots spéciaux utilisés dans le domaine), ce qui vous aidera non seulement à augmenter votre vocabulaire, mais également à mieux comprendre JavaScript.. Les jargons se trouvent normalement dans les documentations et les articles techniques. Mais certains d'entre eux aiment fermetures sont des choses assez standard à connaître. Savoir ce que le mot lui-même signifie peut vous aider à connaître le concept qui lui donne son nom..
Cet article est la compilation de 10 de ces termes avec leur signification et le contexte dans lequel ils sont utilisés en JavaScript. Si vous êtes débutant, cette liste vous permettra de découvrir les bases telles que levage. En même temps, des termes moins connus ou moins bien compris sont également inclus..
- Arité
- Anonyme
- Fermeture
- Currying
- Levage
- Mutation
- Pragma
- Sentinelle
- Vanille
- Variadique
1. Arité
Arité (du latin) est le terme utilisé pour désigner le nombre d'arguments ou d'opérandes dans une fonction ou une opération, respectivement. Vous êtes plus susceptible de rencontrer ce mot dans le royaume de JavaScript quand il est utilisé pour mentionner le nombre d'arguments attendus par une fonction JavaScript.
Il y a même une propriété nommée arity, du Une fonction
objet qui renvoie le nombre d'arguments attendus dans une fonction. Il est maintenant obsolète et remplacé par longueur
.
La fonction suivante a une arité de 3.
fonction getName (premier, milieu, dernier) retour premier + "+ milieu +" + dernier;
2. Anonyme
Anonyme est un adjectif. Lorsque quelque chose ou quelqu'un est considéré comme anonyme, cela signifie que le nom de cette chose ou de cette personne n'est pas identifié. De même en JavaScript une fonction anonyme est celle qui n'est pas identifiée par un nom.
(function () // body) ();
Ci-dessus se trouve un IIFE (expression de fonction immédiatement appelée). La fonction est anonyme car elle n’a pas de nom. Maintenant, jetez un oeil à celui ci-dessous.
var foo = function () ;
On dit aussi que c'est une fonction anonyme puisqu'il n'y a pas de nom après le mot clé une fonction
.
Un peu de doute s'élève dans la justesse de l'utilisation du mot “anonyme”. Avec IIFE, la fonction est appelée immédiatement, sans nom, alors que, pour appeler cette dernière fonction, la syntaxe foo ()
est utilisé.
C'est comme si nous avions baptisé une fonction sans nom avec le nom 'foo' et que nous l'appelions en utilisant cela. Cela compte-t-il comme anonyme? Je ne sais pas, je laisserai cela aux experts anglais. Mais, ma confusion mise à part, ils sont tous deux qualifiés de fonction anonyme.
3. fermeture
Voici l'une des définitions du dictionnaire oxford pour fermeture: “Une chose qui ferme ou scelle quelque chose, comme un bonnet ou une cravate.”
En JavaScript, la fermeture est une fonction interne, accessible en dehors de la portée de sa fonction externe, sa connexion aux variables de la fonction externe restant intacte..
Pour expliquer les choses (peut-être pas avec précision mais simplement assez), considérons fermeture en tant que serveur dans un restaurant. Beaucoup de choses se passent dans la cuisine d'un restaurant, où nous ne sommes pas autorisés à entrer ou à voir. Mais comment sommes-nous censés obtenir notre nourriture alors?
C'est là que les serveurs entrent en jeu. Nous les appelons, commandons la nourriture, puis ils vont à la cuisine, informent les chefs des commandes et nous les apportent lorsque la commande est prête. De cette façon, nous n'avons cassé aucun “règles” et peut encore réussir à prendre un repas.
Le serveur est quelqu'un qui peut prendre notre commande dans la cuisine et revenir avec la nourriture. JavaScript fermetures sont similaires à cela, ils sont capables de prendre nos paramètres et nous ramener des variables (références à ces variables, pour être précis) de l'intérieur d'une fonction dans laquelle nous ne sommes pas autorisés.
fonction order () var food; fonction serveur (commande) chef (commande); retourner la nourriture; fonction chef (commande) if (commande === 'pâtes') nourriture = ['pâtes', 'sauce', 'assaisonnement']; cuisinier(); function cook () food.push ('cuit'); serveur de retour; var myOrder = order (); console.log (myOrder ('pasta')); // tableau ["pâtes", "sauce", "assaisonnement", "cuit"]
Comme vous pouvez le voir dans le code ci-dessus, tout sauf les serveur
et sa valeur de retour depuis l'intérieur de la fonction d'ordre n'est pas exposée au monde extérieur.
4. Currying
L'effet, nommé d'après Haskell Curry, fait référence à utiliser plusieurs fonctions avec des arguments simples, à la place d'une fonction unique avec plusieurs arguments. Voyons le ajouter
fonctions ci-dessous par exemple.
fonction addx (x) fonction addy (y) retour x + y; return addy function add (x, y) return (x + y); console.log (addx (3) (4)); \\ 7 console.log (add (3,4)); \\7
Les deux fonctions retournent le même résultat. La fonction addx
accepte un paramètre X
en revenant addy
qui à son tour accepte la y
valeur, effectue l'addition avec X
et retourne la somme.
La fonction ajouter
prend simplement les deux X
et y
dans le même temps, effectue l'addition et renvoie la somme. Jusqu'à présent, la première fonction pourrait ne pas sembler très utile, jusqu'à ce que…
var add4 = addx (4); console.log (add4 (8)); // 12 console.log (add4 (6)); // 10 console.log (add4 (-74)); // - 70
Maintenant, l'ancienne fonction devient soudainement intéressante. En currying, vous pouvez toujours fixer une étape dans une séquence d'opérations telle que l'ajout de 4 du code ci-dessus, ce qui est utile lorsque l'une des variables utilisées dans l'opération est toujours la même..
5. Levage
Hoist signifie élever quelque chose. Levage en JavaScript signifie également la même chose et ce qui est soulevé est la déclaration (déclarations de variable et de fonction).
Les déclarations sont où les variables et les fonctions sont créées avec des mots-clés var
(pas pour global) et une fonction
.
Peu importe où vous tapez le code pour déclarer une fonction ou une variable, lors de l'évaluation, toutes les déclarations sont déplacées vers le haut dans l'étendue où elles résident (sauf en mode strict). Il est donc possible d'écrire un code de travail avec le code pour l'appel de fonction placé avant la déclaration de fonction.
var name = 'Velma'; console.log (sayCatchPhrase (name)); // "Jinkies!" function sayCatchPhrase (name) phrases = 'Fred Flintstone': 'Yabba dabba doo!', 'Velma': 'Jinkies!', 'Razor': 'Bingo!', 'Lui-Homme': 'J'ai le pouvoir '; retourne des phrases [nom];
6. Mutation
Mutation signifie changement ou modification. Si vous rencontrez un jour le mot mutation en JavaScript, il fait probablement référence aux changements subis par les éléments DOM..
Il existe même une API appelée MutationObserver pour surveiller les mutations DOM telles que ajout d'éléments enfants ou modification des attributs de l'élément. (Vous pouvez en savoir plus sur MutationObserver dans mon post.)
7. Pragma
Pragma est l'abréviation d'information pragmatique. En termes simples, pragmatique est un adjectif qui signifie sensé et pratique. En programmation, pragma fait référence au code contenant des informations utiles sur comment un compilateur, un interprète ou un assembleur doit traiter le programme.
Cela ne contribue en rien au langage de programmation lui-même et sa syntaxe peut varier. Ils n'affectent que le comportement du compilateur. JavaScript a aussi peu de pragmas, l’un d’eux est strict
.
"use strict";
Par le pragma ci-dessus, le code JavaScript sera exécuté en mode strict. En mode strict, une syntaxe incorrecte n'est pas autorisée, levage n'est pas terminé, des erreurs silencieuses sont affichées, etc. écrire un code JavaScript plus sécurisé et optimisé.
8. Sentinelle
Sentinelles sont des soldats qui montent la garde (rappelez-vous ceux de X-Men?). En programmation, sentinelles sont des valeurs utilisées pour indiquer la fin d'une boucle ou d'un processus. Ils peuvent aussi être appelés “drapeaux”.
Vous pouvez utiliser n'importe quelle valeur raisonnable en tant que sentinelle. Voici un exemple de sentinelles utilisé en JavaScript; la Indice de
méthode qui renvoie -1 (la valeur sentinelle) lorsque la valeur de recherche n’est pas trouvée dans la chaîne ciblée. Ci-dessous, une fonction qui renvoie la position d'une valeur de tableau et si la valeur n'est pas trouvée, renvoie -1.
fonction getPos (ary, val) var i = 0, len = ary.length; pour (; i9. vanille
Je pense que la première saveur de crème glacée de tout le monde devait être la vanille. Je pense aussi que non seulement la crème glacée, mais presque tous les plats sucrés à la vanille sont devenus la saveur standard. J'ai vu pas mal de recettes de gâteaux où ils ajoutaient au moins une goutte dans le mélange - juste pour augmenter la saveur.
Et c'est quoi vanille est un saveur standard traditionnelle. Vanille JavaScript fait référence à JavaScript standard - pas de framework. Vanilla est en fait utilisé non seulement pour décrire la version standard de JavaScript, mais également pour d’autres langages tels que CSS..
10. Variadic
Variadique est un adjectif créé en rejoignant “variable” et “adicité”. “Adicité” est du grec ancien, avec une signification identique à celle du mot latin “arité” (Élément 1 de cette liste). Ainsi, le terme variadique est utilisé pour exprimer quelque chose qui a un nombre variable d'arguments.
En JavaScript, un variadique la fonction accepte n'importe quel nombre d'arguments. Il peut être créé en utilisant
arguments
propriété,appliquer
méthode et depuis ES6, l’opérateur de propagation. Vous trouverez ci-dessous un exemple d'utilisation d'un opérateur de propagation.test de fonction (… a) console.log (a); test ('a', 'b', 'c', 8, [56, -89]); // la sortie est Array ["a", "b", "c", 8, Array [2]]