hideout-lastation.com
Paradis Pour Les Concepteurs Et Les Développeurs


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.

  1. Arité
  2. Anonyme
  3. Fermeture
  4. Currying
  5. Levage
  6. Mutation
  7. Pragma
  8. Sentinelle
  9. Vanille
  10. 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 (; i 

9. 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]] 

5 vérités sur les révisions que les concepteurs ne veulent pas entendre

5 vérités sur les révisions que les concepteurs ne veulent pas entendre

Oh, les révisions. Nous les avons tous - je ne connais personnellement pas un designer sur la terre qui ne les déteste pas, et j'ai lu des articles de blog après le blog sur combien ils sucent. Vous mettez des heures (ou des jours) de votre temps et de vos efforts à obtenir une pièce de design juste.Ensu

(Conseils techniques et de conception)

Tout ce que vous devez savoir sur iOS 8

Tout ce que vous devez savoir sur iOS 8

C'est officiel, nous recevons un nouvel iOS, et vous allez adorer l'iOS 8 plus intelligent, plus rapide, centré sur la famille et axé sur la santé. Cette version offre de nombreuses options de partage: Partage familial qui vous permet de partager vos achats, iCloud Drive, pour faciliter la synchronisation des fichiers entre les appareils mobiles et de bureau et Handoff ...

(Conseils techniques et de conception)