Jargon JavaScript: 10 termes que vous devez savoir
De curry à des fermetures il y a un certain nombre de jargons JavaScript (mots spéciaux utilisés dans le domaine) sachant qui non seulement vous aidera à augmenter votre vocabulaire, mais mieux comprendre JavaScript. Les jargons se trouvent normalement dans les documentations et les articles techniques . Mais certains d'entre eux comme des fermetures sont des choses assez courantes à connaître. Savoir ce que signifie le mot lui-même peut vous aider à mieux connaître le concept.
Ce post 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 un débutant alors cette liste vous a couvert avec les bases comme le 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
- Variadic
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 domaine de JavaScript lorsqu'il est utilisé pour mentionner le nombre d'arguments attendus par une fonction JavaScript .
Il existe même une propriété nommée arity, de l'objet Function
qui renvoie le nombre d'arguments attendus dans une fonction. Il est maintenant obsolète et remplacé par la length
.
La fonction suivante a une arité de 3.
function getName (premier, milieu, dernier) {return first + '' + middle + '' + last; }
2. Anonyme
Anonymous est un adjectif. Quand quelque chose ou quelqu'un est désigné comme anonyme, cela signifie que le nom de la personne ou de la 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 est un IIFE (Expression de fonction invoquée immédiatement). La fonction y est anonyme car elle n'a pas de nom. Maintenant, jetez un oeil à celui ci-dessous.
var foo = fonction () {};
On dit aussi qu'il s'agit d'une fonction anonyme puisqu'il n'y a pas de nom après la function
mot-clé.
Un peu de doute découle de la justesse de l'utilisation du mot "anonyme". Avec IIFE, la fonction est appelée tout de suite, aucun nom n'est impliqué alors que, pour appeler cette dernière fonction, la syntaxe foo()
est utilisée.
C'est comme si nous avions baptisé une fonction sans nom avec le nom 'foo' et l'avons appelée en utilisant cela. Cela compte-t-il comme anonyme? Je ne sais pas, je vais laisser ça aux experts anglais. Mais, mis à part ma confusion, ils sont tous deux considérés comme des fonctions anonymes.
3. Fermeture
Voici l'une des définitions du dictionnaire Oxford pour la fermeture : " Une chose qui ferme ou scelle quelque chose, comme une casquette ou une cravate ."
En JavaScript, la fermeture est une fonction interne, qui est accessible en dehors de la portée de sa fonction externe, avec sa connexion aux variables de la fonction externe encore intacte.
Pour expliquer les choses (peut-être pas avec précision mais simplement assez), envisager la fermeture en tant que serveur dans un restaurant. Il se passe beaucoup de choses à l'intérieur d'une cuisine de 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. Nous les appelons, nous commandons la nourriture, puis ils vont à la cuisine, ils informent les chefs des commandes et nous les apportent quand la commande est prête. De cette façon, nous n'avons pas enfreint les «règles» et pouvons toujours réussir à prendre un repas.
Le serveur est quelqu'un qui est capable de prendre notre commande dans la cuisine et de revenir avec la nourriture. Les fermetures de JavaScript sont similaires à cela, elles sont capables de prendre nos paramètres et de nous ramener des variables (références à ces variables, pour être précis) à l'intérieur d'une fonction qui ne nous est pas permise.
function order () {var alimentaire; serveur de fonction (commande) {chef (commande); retourner de la nourriture; } chef de fonction (commande) {if (commande === 'pasta') {food = ['pâtes', 'sauce', 'assaisonnement']; cuisinier(); }} 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 ce qui n'est pas waiter
et sa valeur de retour depuis l'intérieur de la fonction de commande n'est pas exposé au monde extérieur.
4. Currying
L'effet, nommé d'après Haskell Curry, se réfère à l' utilisation de plusieurs fonctions avec des arguments uniques, à la place d'une seule fonction avec plusieurs arguments. Voyons voir les fonctions d' add
ci-dessous par exemple.
fonction addx (x) {fonction addy (y) {return x + y; } return addy} fonction add (x, y) {return (x + y); } console.log (addx (3) (4)); \\ 7 console.log (ajouter (3, 4)); \\7
Les deux fonctions renvoient le même résultat. La fonction addx
accepte un paramètre x
en retournant addy
qui à son tour accepte la valeur y
, effectue l'addition avec x
et renvoie la somme.
La fonction add
prend simplement à la fois x
et y
en même temps, effectue l'addition et renvoie la somme. Jusqu'à présent, la première fonction peut 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, la première fonction devient soudainement intéressante. En cours d'exécution, vous pouvez toujours fixer une étape dans une séquence d'opérations comme l'ajout de 4 à partir 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. Hisser en JavaScript signifie également la même chose et ce qui est levé est la déclaration (déclarations de variables et de fonctions).
Les déclarations sont où les variables et les fonctions sont créées avec des mots-clés var
(pas pour global) et function
.
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 dans la portée où elles résident (sauf en mode strict). Par conséquent, il est 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 (nom)); // "Jinkies!" function sayCatchPhrase (nom) {phrases = {'Fred Flintstone': 'Yabba dabba doo!', 'Velma': 'Jinkies!', 'Rasoir': 'Bingo!', 'Homme-He': 'J'ai le pouvoir '}; phrases de retour [nom]; }
6. Mutation
Mutation signifie changement ou modification. Si vous rencontrez le mot "mutation" en JavaScript, cela fait probablement référence aux changements que les éléments du DOM ont subis.
Il existe même une API appelée MutationObserver pour garder un œil sur les mutations DOM comme l' ajout d'éléments enfants ou les modifications des attributs de l'élément . (Vous pouvez en lire plus sur MutationObserver dans mon article.)
7. Pragma
Pragma est l'abréviation de l'information pragmatique. En anglais, pragmatique est un adjectif qui signifie sensible et pratique. En programmation, pragma fait référence au code constitué d'informations utiles sur la façon dont un compilateur, un interprète ou un assembleur doit traiter le programme .
Il 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 quelques pragmas, l'un d'entre eux est strict
.
"use strict";
Par le pragma ci-dessus, le code JavaScript sera exécuté en mode strict. En mode strict, la mauvaise syntaxe n'est pas autorisée, le levage n'est pas fait, les erreurs silencieuses sont affichées, etc. Il aide à écrire un code JavaScript plus sûr et optimisé .
8. Sentinelle
Les sentinelles sont des soldats qui montent la garde (Rappelez-vous ceux de X-Men?). En programmation, les sentinelles sont des valeurs utilisées pour indiquer la fin d'une boucle ou d'un processus. Ils peuvent également être appelés "drapeaux".
Vous pouvez utiliser n'importe quelle valeur raisonnable en tant que sentinelle . Voici un exemple de sentinelles utilisées en JavaScript; la méthode indexOf
qui renvoie -1 (la valeur sentinelle) lorsque la valeur de recherche est introuvable dans la chaîne ciblée. Voici une fonction qui retourne la position d'une valeur de tableau et si la valeur n'est pas trouvée, renvoie -1.
function 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 de la vanille. Je pense aussi que non seulement dans la crème glacée, mais dans presque tous les plats sucrés de vanille est devenu la saveur standard. J'ai vu quelques recettes de gâteaux où ils ajoutent au moins une goutte dans le mélange - juste pour augmenter la saveur.
Et c'est ce que la vanille est, une saveur standard traditionnelle . Vanilla JavaScript est référencé au JavaScript standard - pas de framework. La vanille n'est pas seulement utilisée pour décrire la version standard de JavaScript, mais aussi d'autres langages comme CSS.
10. Variadique
Variadic est un adjectif créé en joignant "variable" et "adicity". "Adicity" vient du grec ancien, avec un sens qui est le même que le mot latin "arité" (item 1 dans cette liste). Ainsi, le terme variadique est utilisé pour exprimer quelque chose qui a un nombre variable d'arguments .
En JavaScript, une fonction variadique prend n'importe quel nombre d'arguments. Il peut être créé en utilisant la propriété
arguments
,apply
méthode et depuis ES6, l'opérateur spread. Voici un exemple utilisant un opérateur de propagation.test de fonction (... a) {console.log (a); } test ('a', 'b', 'c', 8, [56, -89]); // sortie est Array ["a", "b", "c", 8, Array [2]]20 choses merveilleuses que vous pouvez faire avec Raspberry Pi
Le Raspberry Pi est un ordinateur monocarte abordable, de la taille d'une carte de crédit, que de nombreux amateurs ont utilisé dans leurs projets de bricolage. En dépit de sa taille, le Raspberry Pi offre un grand avantage en termes de puissance de calcul, offrant une accessibilité et une portabilité sur le côté.Ainsi,
8 applications gratuites pour surveiller les activités des smartphones de vos enfants sur Android
De nos jours, rien n'empêche un enfant de grandir sans l'influence des gadgets technologiques, du contenu en ligne et d'Internet en général. Être un parent est déjà une tâche assez difficile, mais ne pas tenir compte du sujet ou exclure complètement la technologie de la vie de vos enfants ne va pas aider.Ce que