Aide-mémoire JavaScript rapide et pratique de Toptal : ES6 et au-delà
Publié: 2022-03-11ECMAScript 6 (ES6) est la dernière spécification standard de JavaScript , le langage de programmation du Web. Depuis HTML5 et la naissance de Node.js , le runtime qui nous permet d'exécuter JavaScript sur le serveur ou le bureau, JavaScript a pris un élan unique. Il y a un taux d'adoption croissant parmi les entreprises, l'intégrant dans la production, et donc ses nouvelles fonctionnalités étaient très attendues.
Nous avons créé cette feuille de triche comme une liste des fonctionnalités ES6 que nous utilisons tous les jours. En essayant d'être complet mais concis en même temps, les nouvelles méthodes d'API sont laissées de côté. Pour ceux qui en ont besoin, effectuez une recherche rapide par vous-même ou essayez d'explorer la documentation MDN pour découvrir les dernières API expérimentales. Cependant, certaines des caractéristiques les plus saignantes comme async
et await
du prochain brouillon de spécification (ES7) sont incluses. C'est parce que la plupart d'entre nous, les développeurs, allons de toute façon utiliser un transpileur comme Babel pour tirer parti du dernier JavaScript.
Vous pouvez tester certains des conseils mentionnés en exécutant le nœud REPL avec cette commande :
node --use-strict $(node --v8-options | grep harm | awk '{print $1}' | xargs) #ES6
Ou utilisez directement un nœud babel pour tirer le meilleur parti de Javascript dans votre console.
Cliquez ici pour télécharger la feuille de triche JavaScript ES6
Aide-mémoire JavaScript (ES6 et au-delà)
Constantes | laissez vs var | |
> const EULER = 2.7182818284 | > var moyenne = 5 | |
Avertissement! S'il s'agit d'un tableau ou d'un objet, la référence est maintenue constante . Si la constante est une référence à un objet, vous pouvez toujours modifier le contenu, mais jamais changer la variable. | ||
> constante CONSTANTES = [] | Soyez conscient des zones mortes temporelles : | |
> console.log(val) // -> 'undefined' | ||
Parce que c'est équivalent à : | ||
Notation binaire, octale et hexadécimale | > var val | |
> 0b1001011101 // 605 | ||
Les variables déclarées avec "let/const" ne sont pas hissées : | ||
Nouveaux types | > console.log(val) | |
Symboles, cartes, cartes faibles et ensembles | ||
Fonction flèche | Nouvelles fonctions délimitées | |
> setTimeout(() => { | > { | |
Équivalent à la fonction anonyme | Équivalent aux expressions de fonction appelées immédiatement (IIFE) | |
> setTimeout(fonction () { | > (fonction () { | |
Nouveautés de notation d'objet | Interpolation de chaîne, grâce aux littéraux de modèle | |
// Propriétés calculées // Littéraux d'objet // Pareil que } | > nom constant = 'Tigre' // Nous pouvons conserver les retours à la ligne… ![]() | |
Paramètres par défaut | ||
> fonction comment vas-tu (réponse = 'ok') { | ||
Promesses | Classes, Héritage, Setters, Getters | |
nouvelle promesse((résoudre, rejeter) => { | class Rectangle étend la forme { | |
Déstructuration des tableaux | Déstructuration d'objets | |
> soit [a, b, c, d] = [1, 2, 3, 4] ; | > let luke = { profession : 'jedi', | |
Opérateur de propagation | ...Allez déstructurer comme un patron | |
// Transforme les tableaux en virgules séparées | > const [ chat, chien, ...poisson ] = [ | |
Ou faire une meilleure poussée | ...et déstructuration dans le futur ES7 | |
> soit arr = [1, 2, 3] | {a, b, ... repos} = {a:1, b:2, c:3, d:4} | |
ES7 asynchrone | Attendez ES7 | |
fonction asynchrone schrödinger () { | essayer { | |
Exporter ES7 | Importation ES7 | |
fonction d'exportation sumTwo (a, b) { | importer React depuis 'react' | |
Générateurs | ||
Ils retournent des objets qui implémentent un protocole d'itération. c'est-à-dire qu'il a une méthode next() qui renvoie { value: < some value>, done: <true or false> } . | ||
function* incRand (max) { // Astérisque définit ceci comme un générateur | ||
> var rng = incRand(2) // Retourne un objet générateur |