ES6 Syntaxe, fonctionnalités et ajouts: Guide de référence
En savoir plus sur les nouvelles fonctionnalités, améliorations et raccourcis de l'ES6 introduits dans le langage de programmation JavaScript.
La sixième édition de ECMAScript – la spécification du langage de script par laquelle JavaScript est normalisé – introduit de nombreuses nouvelles fonctionnalités. , mises à niveau et raccourcis vers le langage de programmation JavaScript. Cette version est communément appelée ECMAScript2015 ou ES6 .
Lorsque la version ES6 a été introduite pour la première fois, les fonctionnalités n'étaient pas disponibles sur la grande majorité des navigateurs et il était nécessaire d'utiliser un compilateur comme Babel si vous souhaitez utiliser l’une des fonctionnalités. Il est toujours courant d’utiliser un bundle tel que webpack pour exécuter Babel et compiler le code ES6 en un code que les anciens navigateurs peuvent comprendre, mais selon Can I Use environ 90% des utilisateurs. tous les navigateurs peuvent comprendre la syntaxe ES6 de manière native.
Il est important de noter que ES6 n'est pas une langue différente, mais simplement la prochaine version d'ECMAScript, tout comme HTML5 est la prochaine édition de HTML. Vous pouvez toujours écrire le même code JavaScript des versions précédentes, mais une nouvelle syntaxe et de nouvelles fonctionnalités sont désormais disponibles.
Dans cet article, nous allons passer en revue certaines des fonctionnalités les plus utilisées de ES6.
Let & Const
L'un des ajouts les plus importants d'ES6 sont les déclarations
et const
.
Auparavant, il n'existait qu'un seul moyen de déclarer une variable en JavaScript: les [19659013] var déclaration.
var couleur = 'blue'
Vous pouvez également attribuer des valeurs avec soit
et const
. ].
const utilisateur = 'Nick'
let active = true
Il existe quelques différences importantes entre les nouveaux mots clés et mot-clé var
existant auparavant
et const
sont tous deux en blocs ce qui signifie t La variable peut être étendue à n’importe quel bloc, tel que si
pour
ou pendant
. A var
correspond à une fonction étendue ce qui signifie que seules les fonctions introduiront un nouveau champ d'application.
// Affectez une variable
var couleur = [19659016] 'blue'
let animal = 'lion'
if ( true ) {
// Réattribuer la variable dans une portée de bloc
var couleur = 'rouge'
let animal = 'tigre'
}
console . log ( couleur ) // rouge
console . log ( animal ) // lion
Comme vous pouvez le voir dans l'exemple ci-dessus, var
a modifié la variable dans la portée globale, alors que ne l'a pas laissé
De plus, ni ni
ni const
ne peuvent être redéclarés une fois la variable déclarée
// Ceci est valide
var oiseau = 'robin'
var oiseau = 'bluejay'
] // Syntaxe non capturéeError: l'identificateur 'animal' a déjà été déclaré
let animal = 'loup'
let animal = 'waswolf'
La différence entre let
et const
est que let
peut être réaffecté et const
ne peut pas. 19659024] // Ceci est valable
let x = 1
x = 2
// VM159: 5 TypeError non capturé: affectation à une variable constante.
const y = 1
y = 2
En fin de compte, cela dépend de la situation d'utilisation de let
var
ou const
mais le point commun convention consiste à utiliser const
autant que possible et laisser
dans tous les autres cas. La plupart des nouvelles bases de code n'incluent pas var
. const
sera utilisé par défaut.
String
Modèles de littéraux
Les littéraux de modèles parfois appelés modèles de chaînes, constituent un nouveau type de chaînes. syntaxe de chaîne qui permet les expressions incorporées et les chaînes multilignes. Les littéraux de modèle utilisent un backtick (`) au lieu de guillemets doubles ou simples.
Au lieu de concaténer avec l'opérateur de concaténation de chaînes ( +
), vous pouvez incorporer une variable directement dans une chaîne à l'aide de $ {}
.
// ES5
const name = 'Hal'
const sentence = "J'ai bien peur Je ne peux pas faire ça " + name + '.'
console . log ( sentence ) // "J'ai bien peur de ne pouvoir le faire, Hal."
// ES6
const name = 'Hal'
const sentence = `J'ai bien peur de ne pas pouvoir faire cela, $ { name } .`
console . log ( sentence ) // "J'ai bien peur de ne pouvoir le faire , Hal. "
Une chaîne peut également s'étendre sur plusieurs lignes.
const haiku = ` Au-dessus de l'hiver
forêt, les vents hurlent de rage
sans feuillage. »
console . log ( haiku )
// En hiver
// forêt, vents hurlement de rage
// sans feuilles à souffler
Notez que les espaces, comme avec l'indentation, sont préservés à l'aide de chaînes multilignes.
Méthodes
Plusieurs nouveaux String
. ] méthodes ont été ajoutées dans ES6: commence par ()
se termine par ()
comprend ()
et à répétition ()
. [19659105] String.prototype.startsWith ()
Nous pouvons facilement déterminer si une chaîne commence par une chaîne en utilisant startsWith ()
.
const mot = 'Disestablishmentarianism'
mot . commence par ( 'Disestablish' ) // true
String.prototype.endsWith ()
Nous pouvons également déterminer si quelque chose se termine par chaîne utilisant endsWith ()
.
const word = 'Disestablishmentarianism'
mot . se termine par ( 'ism' ) // true
String.prototype.includes ()
const word = 'Disestablishmentarianism '
le mot . comprend ( "établissement" ) // true
String.prototype.repeat ()
La est répétée () [) [19659009] Cette méthode répète et concatène une chaîne.
const word = 'Beetlejuice'
mot . répéter ( 3 ) // "Beetlejuice Beetlejuice Beetlejuice"
Fonctions
Fonctions de flèche
Une fonction de flèche est une nouvelle façon de créer une expression de fonction en JavaScript.
// Expression de fonction
const renvoieTrue = fonction () {1965
return true
}
// expression de la fonction flèche
const returnTrue = () => 19659030] {[19659025] return true
}
Les fonctions fléchées n'ont pas leur propre ce
et ne peuvent pas être utilisées en tant que constructeur. Toutes les fonctions de flèche sont anonymes, ce qui signifie qu'elles n'ont pas de nom.
Renvois implicites
Les fonctions de flèches ont également la capacité d'utiliser des retours implicites, dans lesquels l'instruction return
et le bloc sont est omis et seule la valeur renvoyée suit la flèche.
const renvoieTrue = () => true
Paramètres
Si une flèche la fonction n'ayant qu'un paramètre, les parenthèses peuvent être omises.
const square = num => {
return num * num
}
square ( 3 ) // 9
Toutefois, si vous utilisez plusieurs paramètres, les parenthèses sont à nouveau obligatoires.
const
19659153] add = ( x y ) => {
retour x + y
}
ajouter ( 7 20 ) // 27
Paramètres par défaut
Les fonctions peuvent désormais être initialisées avec des paramètres par défaut .
// ES5
function sum ( a b ) {
b = b === undefined ? 2 : b ; // option 1
b = 2 || b // option 2
retour a + b
} // ES6
function sum [ a
Source link