Dans la version ES6 de JavaScript, la syntaxe étendue a été introduite comme une fonctionnalité très puissante. Nous pouvons utiliser la syntaxe d'extension pour étendre un tableau ou un objet en une variable du même type de données.
Par exemple, avant l'introduction de la syntaxe spread dans ES6, les développeurs utilisaient des boucles for pour copier tous les éléments d'un tableau vers un autre tableau. Pouvez-vous copier tous les éléments d'un tableau dans un autre en écrivant un code linéaire en utilisant une syntaxe étendue au lieu d'écrire 5 à 7 lignes de code en utilisant une boucle for ? Oui, vous avez bien entendu !
Ici, nous allons apprendre différents cas d'utilisation de la syntaxe d'extension dans ce tutoriel. Nous verrons également en quoi elle diffère du reste de la syntaxe à la fin du didacticiel.
La syntaxe d'expansion en JavaScript est une syntaxe qui permet à un objet itérable (tel qu'un tableau ou un objet) d'être développé en une seule variable ou un seul élément.
Les utilisateurs peuvent utiliser la syntaxe d'extension pour étendre les objets itérables selon la syntaxe ci-dessous.
let array = [10, 40, 7, 345]; let array2 = [...array];
Dans la syntaxe ci-dessus, nous copions tous les éléments du "tableau" itérable dans la variable array2.
L'utilisation de la syntaxe étendue présente certains avantages ou fonctionnalités -
Copiez un tableau ou un objet,
Combinez des tableaux ou des objets, et
Passez plusieurs éléments comme paramètres de fonction.
Examinons différents exemples de chacune des fonctionnalités ci-dessus de la syntaxe étendue.
Copier le tableau en utilisant la syntaxe spread
Dans cet exemple, nous utilisons la synatx étendue pour copier les éléments d'un tableau vers un autre tableau. Vous pouvez voir que le code linéaire unique copie tous les éléments du tableau dans array2.
<html> <body> <h2>Using the spread syntax to copy one array to another</h2> <div id="output"></div> <script> let output = document.getElementById("output"); let array1 = [10, 40, 7, 345]; output.innerHTML += "Original array: " + array1 + "</br>"; // copy array using spread syntax let array2 = [...array1]; output.innerHTML += "Copied array: " + array2 + "</br>"; </script> </body> </html>
Utilisez la syntaxe répartie pour fusionner des tableaux ou des objets
Nous fusionnons array1 et array2 en utilisant la syntaxe étendue à l'intérieur de array1 au lieu d'utiliser la méthode concat() de JavaScript. De plus, lors de la fusion de deux tableaux, nous modifions l’ordre des éléments du tableau.
<html> <body> <h2>Using the spread syntax to <i> copy one array to another</i></h2> <div id="output"></div> <script> let output = document.getElementById("output"); let array = [10, 40, 7, 345]; output.innerHTML += "Array 1: " + array + "</br>"; let array2 = ["Hi, Hello"]; output.innerHTML += "Array 2: " + array2 + "</br>"; array = [...array2, ...array]; output.innerHTML += "After merging the array2 and array1: " + array + "<br/>"; </script> </body> </html>
Utilisez une syntaxe étendue pour transmettre plusieurs éléments comme arguments de fonction
Dans cet exemple, nous avons créé la fonction add() qui prend trois valeurs comme paramètres et renvoie la somme des trois paramètres. Nous créons un tableau contenant trois valeurs. Nous avons utilisé une syntaxe étendue pour transmettre tous les éléments du tableau en tant que paramètres à la fonction add().
<html> <body> <h2>Using the spread syntax</h2> <p> Passing multiple array elements as a function argument </p> <div id="output"></div> <script> let output = document.getElementById("output"); // function to get a sum of 3 values function add(param1, param2, param3) { return param1 + param2 + param3; } let values = [50, 54, 72]; // passed array values using the spread syntax let result = add(...values); output.innerHTML += "The sum of 3 array values: " + result + "</br>"; </script> </body> </html>
Copier des objets à l'aide de synatx étendu
Dans l'exemple ci-dessous, nous avons créé un objet sample_obj contenant différentes paires clé-valeur. En utilisant une syntaxe étendue, nous avons copié toutes les paires clé-valeur de sample_obj dans copy_object.
Étant donné que les objets sont itérables, nous pouvons étendre les objets en utilisant la syntaxe extend.
<html> <body> <h2>Using the spread syntax to <i>create a copy of the object.</i></h2> <div id="output"></div> <script> let output = document.getElementById("output"); let sample_obj = { name: "Shubham", age: 22, hobby: "writing", }; let copy_object = { ...sample_obj, }; output.innerHTML += "The values of the copy_object are " + copy_object.name + " , " +copy_object.age + " , " + copy_object.hobby + "</br>"; </script> </body> </html>
En JavaScript, la syntaxe de la syntaxe de repos est la même que celle de la syntaxe étendue. Nous pouvons utiliser la syntaxe rest pour collecter des éléments dans un seul tableau ou itérable, contrairement à l'expansion utilisant la syntaxe spread.
Habituellement, les développeurs utilisent la syntaxe d'expansion pour les paramètres de fonction lorsque le nombre total de paramètres de fonction n'est pas défini ou que des paramètres facultatifs sont transmis.
Les utilisateurs peuvent utiliser le reste de la syntaxe selon la syntaxe suivante.
function func(...params){ //params are the array of all arguments passed while calling the function //users can access the params like params[0], params[1], params[2], ... }
Dans la syntaxe ci-dessus, nous avons collecté tous les paramètres de fonction dans le tableau params.
Dans cet exemple, nous avons créé un tableau de chaînes et transmis tous les éléments du tableau comme arguments à la fonction mergeString() en utilisant une syntaxe étendue.
En utilisant le reste de la syntaxe, nous collectons tous les paramètres de la fonction mergeString() dans le tableau params. Nous parcourons le tableau params et concaténons chaque élément du tableau params dans la variable FinalString.
<html> <body> <h2>Using the rest syntax to collect function parameters</h2> <div id="output"></div> <script> let output = document.getElementById("output"); // used the rest syntax to collect params function mergeString(...params) { let finalString = ""; // Iterating through the array of params for (let param of params) { finalString += param; output.innerHTML += "Parameter: " + param + "<br>"; } output.innerHTML += "The string after merging: " + finalString; } let strings = ["Welcome", "to", "the", "TutorialsPoint!"]; // used the spread syntax to pass all elements of // the strings array as an argument. mergeString(...strings); </script> </body> </html>
Grâce à l'exemple ci-dessus, les utilisateurs peuvent clairement comprendre la différence entre la syntaxe rest et la syntaxe spread.
La syntaxe étendue est différente du reste de la syntaxe, qui est utilisée pour collecter plusieurs éléments ou attributs dans un tableau. La syntaxe d'extension permet l'extension d'éléments, tandis que le reste de la syntaxe permet des collections d'éléments.
Des exemples d'utilisation de la syntaxe étendue incluent la copie d'un tableau dans un autre, la fusion de deux tableaux, la transmission de plusieurs éléments de tableau comme arguments de fonction et la copie des propriétés d'un objet vers un autre.
Des exemples d'utilisation de la syntaxe rest incluent la collecte d'éléments, les paramètres de fonction, etc.
Le tableau suivant met en évidence les différences entre la syntaxe spread et la syntaxe rest dans ES6 -
Syntaxe étendue |
Syntaxe restante |
---|---|
Nous pouvons développer des objets itérables en utilisant la syntaxe d'expansion. |
Nous pouvons utiliser la syntaxe rest pour collecter des éléments et rendre tous les éléments collectés itérables. |
Nous pouvons l'utiliser pour étendre les données au format tableau ou objet. |
Nous pouvons rassembler tous les éléments dans le format requis. |
Nous pouvons l'utiliser pour transmettre des paramètres à l'intérieur de la fonction. |
Nous pouvons l'utiliser pour collecter des paramètres de fonction ou définir des paramètres facultatifs. |
La syntaxe d'expansion en JavaScript est une syntaxe qui permet à un objet itérable (tel qu'un tableau ou un objet) d'être développé en une seule variable ou un seul élément.
La syntaxe Expand est différente des autres. La syntaxe étendue est utile pour effectuer des tâches telles que copier des tableaux, fusionner des tableaux ou des objets et transmettre plusieurs éléments comme arguments de fonction.
La syntaxe restante est utile pour effectuer des tâches telles que la collecte de plusieurs éléments ou attributs dans un tableau.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!