recherche
Maisoninterface Webjs tutorielConseil rapide: comment utiliser l'opérateur de diffusion en javascript

Quick Tip: How to Use the Spread Operator in JavaScript

Ce tutoriel expliquera les différentes utilisations des opérateurs étendus en JavaScript, ainsi que les principales différences entre les opérateurs étendus et les opérateurs résiduels.

L'opérateur d'extension JavaScript est représenté par trois points (...) et est introduit dans ES6. Il peut étendre les éléments dans les collections et les tableaux en éléments uniques.

Les opérateurs étendus peuvent être utilisés pour créer et cloner des tableaux et objets, passer les tableaux en tant que paramètres de fonction, supprimer des doublons dans les tableaux, et plus encore.

Points clés

  • L'opérateur d'extension JavaScript est représenté par trois points (...). Il peut être utilisé pour créer et cloner des tableaux et des objets, passer les tableaux en tant que paramètres de fonction, supprimer des doublons dans les tableaux, etc.
  • L'opérateur d'extension peut être utilisé pour cloner les tableaux et objets, les tableaux de concaténe, convertir Nodelist en tableaux et supprimer des doublons dans les tableaux. Cependant, il est important de noter qu'il effectue uniquement des copies peu profondes, ce qui signifie qu'il copie uniquement les éléments ou attributs de niveau supérieur. Si un tableau ou un objet contient un autre tableau ou objet, ces tableaux ou objets sont copiés par référence, et non par des valeurs.
  • L'opérateur d'extension est différent de l'opérateur restant, bien que les deux utilisent la même syntaxe que trois points (...). Les opérateurs restants peuvent être utilisés dans la liste des paramètres de la fonction, indiquant que la fonction accepte un nombre non défini de paramètres, qui peuvent être traités comme un tableau.

grammaire

Les opérateurs étendus ne peuvent être utilisés que pour les objets itéables. Ce doit être immédiatement avant l'objet itérable, sans aucune séparation. Par exemple:

console.log(...arr);

Paramètres de fonction

Prendre la méthode math.min () comme exemple. Cette méthode prend au moins un nombre en tant que paramètre et renvoie le plus petit nombre des paramètres passés.

Si vous avez un tableau de nombres et que vous souhaitez trouver la valeur minimale de ces nombres, s'il n'y a pas d'opérateur d'extension, vous devez passer des éléments un par un avec l'index, ou utiliser la méthode Appliquer () pour passer des éléments du tableau comme arguments. Par exemple:

const numbers = [15, 13, 100, 20];
const minNumber = Math.min.apply(null, numbers);
console.log(minNumber); // 13

Notez que le premier paramètre est nul, car le premier paramètre est utilisé pour modifier la valeur de cette fonction d'appel.

L'opérateur d'extension est une solution plus pratique et lisible pour passer des éléments d'un tableau sous forme de paramètres à une fonction. Par exemple:

const numbers = [15, 13, 100, 20];
const minNumber = Math.min(...numbers);
console.log(minNumber); // 13

Vous pouvez voir dans cet exemple en ligne:

Affichez l'exemple sur Codepen

Créer un tableau

L'opérateur

étendu peut être utilisé pour créer de nouveaux tableaux à partir de tableaux existants ou d'autres objets itéables contenant la méthode symbole.iterator (). Ce sont des objets qui peuvent être itérés avec un pour ... de boucle.

Par exemple, il peut être utilisé pour cloner les tableaux. Si vous attribuez simplement la valeur du tableau existant à un nouveau tableau, apporter des modifications au nouveau tableau mettra à jour le tableau existant:

console.log(...arr);

En utilisant l'opérateur d'extension, vous pouvez cloner un tableau existant dans un nouveau tableau, et toutes les modifications apportées au nouveau tableau n'affecteront pas le tableau existant:

const numbers = [15, 13, 100, 20];
const minNumber = Math.min.apply(null, numbers);
console.log(minNumber); // 13

Il convient de noter que cela ne clonera qu'un réseau unidimensionnel. Il ne fonctionne pas avec des tableaux multidimensionnels.

L'opérateur d'extension peut également être utilisé pour concaténer plusieurs tableaux en un seul tableau. Par exemple:

const numbers = [15, 13, 100, 20];
const minNumber = Math.min(...numbers);
console.log(minNumber); // 13

Vous pouvez également utiliser l'opérateur d'extension pour les chaînes pour créer un tableau où chaque élément est un caractère dans la chaîne:

const numbers = [15, 13, 100, 20];
const clonedNumbers = numbers;
clonedNumbers.push(24);
console.log(clonedNumbers); // [15, 13, 100, 20, 24]
console.log(numbers); // [15, 13, 100, 20, 24]

Créer un objet

Les opérateurs d'extension peuvent être utilisés pour créer des objets de différentes manières.

Il peut être utilisé pour cloner légèrement un autre objet. Par exemple:

const numbers = [15, 13, 100, 20];
const clonedNumbers = [...numbers];
clonedNumbers.push(24);
console.log(clonedNumbers); // [15, 13, 100, 20, 24]
console.log(numbers); // [15, 13, 100, 20]

Il peut également être utilisé pour fusionner plusieurs objets en un seul objet. Par exemple:

const evenNumbers = [2, 4, 6, 8];
const oddNumbers = [1, 3, 5, 7];
const allNumbers = [...evenNumbers, ...oddNumbers];
console.log(...allNumbers); //[2, 4, 6, 8, 1, 3, 5, 7]

Il convient de noter que si l'objet partage le même nom de propriété, la valeur de propriété du dernier objet étendu sera utilisée. Par exemple:

const str = 'Hello, World!';
const strArr = [...str];
console.log(strArr); // ['H', 'e', 'l', 'l', 'o', ',', ' ', 'W', 'o', 'r', 'l', 'd', '!']

L'opérateur d'extension peut être utilisé pour créer des objets à partir d'un tableau où l'index dans le tableau devient l'attribut et la valeur à cet index devient la valeur de l'attribut. Par exemple:

const obj = { name: 'Mark', age: 20};
const clonedObj = { ...obj };
console.log(clonedObj); // {name: 'Mark', age: 20}

Il peut également être utilisé pour créer des objets à partir de chaînes, de même, l'index dans la chaîne devient l'attribut, et les caractères de cet index deviennent la valeur de l'attribut. Par exemple:

const obj1 = { name: 'Mark', age: 20};
const obj2 = { occupation: 'Student' };
const clonedObj = { ...obj1, ...obj2 };
console.log(clonedObj); // {name: 'Mark', age: 20, occupation: 'Student'}

Convertir Nodelist en un tableau

NodeList est une collection de nœuds qui sont des éléments du document. Contrairement aux tableaux, ces éléments sont accessibles via des méthodes d'une collection telles que des articles ou des entrées.

Vous pouvez utiliser l'opérateur d'extension pour convertir Nodelist en un tableau. Par exemple:

const obj1 = { name: 'Mark', age: 20};
const obj2 = { age: 30 };
const clonedObj = { ...obj1, ...obj2 };
console.log(clonedObj); // {name: 'Mark', age: 30}

Supprimer des doublons dans le tableau

Set Object est une collection qui stocke uniquement des valeurs uniques. Semblable à Nodelist, les ensembles peuvent être convertis en tableaux à l'aide de l'opérateur d'extension.

Étant donné que définir les valeurs uniques uniquement, il peut être associé à l'opérateur d'extension pour supprimer des doublons dans le tableau. Par exemple:

const numbers = [15, 13, 100, 20];
const obj = { ...numbers };
console.log(obj); // {0: 15, 1: 13, 2: 100, 3: 20}

Opérateur étendu et opérateur résiduel

L'opérateur restant est également un opérateur à trois points (...), mais il est utilisé à des fins différentes. Les opérateurs restants peuvent être utilisés dans la liste des paramètres de la fonction, indiquant que la fonction accepte un nombre non défini de paramètres. Ces paramètres peuvent être traités sous forme de tableaux.

Exemple:

const str = 'Hello, World!';
const obj = { ...str };
console.log(obj); // {0: 'H', 1: 'e', 2: 'l', 3: 'l', 4: 'o', 5: ',', 6: ' ', 7: 'W', 8: 'o', 9: 'r', 10: 'l', 11: 'd', 12: '!'}

Dans cet exemple, les opérateurs restants sont utilisés comme paramètres pour calculer la fonction. Vous itérez ensuite sur les éléments du tableau et les ajoutez pour calculer leur somme.

Vous pouvez ensuite transmettre les variables une par une à la fonction CalculeSum comme paramètres, ou utiliser l'opérateur d'extension pour passer les éléments du tableau comme paramètres:

const nodeList = document.querySelectorAll('div');
console.log(nodeList.item(0)); // <div>...</div>
const nodeArray = [...nodeList];
console.log(nodeArray[0]); // <div>...</div>

Conclusion

Les opérateurs étendus vous permettent de faire plus avec moins de lignes de code tout en gardant le code lisible. Il peut être utilisé pour des objets itérables, en transmettant des paramètres aux fonctions ou en créant des tableaux et des objets à partir d'autres objets itéables.

lectures connexes:

  • Méthode mathématique manquante en javascript
  • Conseils rapides: comment trier le tableau d'objets en javascript
  • Comment utiliser pour Loop dans JavaScript
  • Astuce rapide: testez si la chaîne correspond à l'expression régulière dans javascript
  • 《Javascript: du débutant à ninja》

FAQ de l'opérateur étendu JavaScript (FAQ)

(des questions fréquemment posées similaires au contenu FAQ d'origine, mais avec différentes formulations, il faut ajouter ici pour maintenir la cohérence du contenu et éviter de copier directement le texte d'origine)

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!

Déclaration
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Python vs JavaScript: Quelle langue devez-vous apprendre?Python vs JavaScript: Quelle langue devez-vous apprendre?May 03, 2025 am 12:10 AM

Le choix de Python ou JavaScript doit être basé sur le développement de carrière, la courbe d'apprentissage et l'écosystème: 1) le développement de carrière: Python convient à la science des données et au développement de back-end, tandis que JavaScript convient au développement frontal et complet. 2) Courbe d'apprentissage: la syntaxe Python est concise et adaptée aux débutants; La syntaxe JavaScript est flexible. 3) Ecosystème: Python possède de riches bibliothèques informatiques scientifiques, et JavaScript a un puissant cadre frontal.

Frameworks javascript: alimenter le développement Web moderneFrameworks javascript: alimenter le développement Web moderneMay 02, 2025 am 12:04 AM

La puissance du cadre JavaScript réside dans la simplification du développement, l'amélioration de l'expérience utilisateur et les performances des applications. Lorsque vous choisissez un cadre, considérez: 1. Taille et complexité du projet, 2. Expérience d'équipe, 3. Écosystème et soutien communautaire.

La relation entre JavaScript, C et BrowsersLa relation entre JavaScript, C et BrowsersMay 01, 2025 am 12:06 AM

INTRODUCTION Je sais que vous pouvez le trouver étrange, que doit faire exactement JavaScript, C et Browser? Ils semblent sans rapport, mais en fait, ils jouent un rôle très important dans le développement Web moderne. Aujourd'hui, nous discuterons du lien étroit entre ces trois. Grâce à cet article, vous apprendrez comment JavaScript fonctionne dans le navigateur, le rôle de C dans le moteur du navigateur et comment ils fonctionnent ensemble pour stimuler le rendu et l'interaction des pages Web. Nous connaissons tous la relation entre JavaScript et Browser. JavaScript est la langue principale du développement frontal. Il fonctionne directement dans le navigateur, rendant les pages Web vives et intéressantes. Vous êtes-vous déjà demandé pourquoi javascr

Node.js diffuse avec dactylographieNode.js diffuse avec dactylographieApr 30, 2025 am 08:22 AM

Node.js excelle dans des E / S efficaces, en grande partie grâce aux flux. Streams traite les données progressivement, en évitant la surcharge de mémoire - idéal pour les fichiers volumineux, les tâches réseau et les applications en temps réel. Combiner les flux avec la sécurité de type dactylographié crée un powe

Python vs JavaScript: considérations de performance et d'efficacitéPython vs JavaScript: considérations de performance et d'efficacitéApr 30, 2025 am 12:08 AM

Les différences de performance et d'efficacité entre Python et JavaScript se reflètent principalement dans: 1) comme un langage interprété, Python fonctionne lentement mais a une efficacité de développement élevée et convient au développement rapide des prototypes; 2) JavaScript est limité au thread unique dans le navigateur, mais les E / S multi-threading et asynchrones peuvent être utilisées pour améliorer les performances dans Node.js, et les deux ont des avantages dans les projets réels.

Les origines de JavaScript: explorer son langage d'implémentationLes origines de JavaScript: explorer son langage d'implémentationApr 29, 2025 am 12:51 AM

JavaScript est originaire de 1995 et a été créé par Brandon Ike, et a réalisé que la langue en langue C. 1.C offre des capacités de programmation élevées et au niveau du système pour JavaScript. 2. La gestion de la mémoire de JavaScript et l'optimisation des performances reposent sur le langage C. 3. La fonctionnalité multiplateforme du langage C aide JavaScript à s'exécuter efficacement sur différents systèmes d'exploitation.

Dans les coulisses: quel langage alimente JavaScript?Dans les coulisses: quel langage alimente JavaScript?Apr 28, 2025 am 12:01 AM

JavaScript s'exécute dans les navigateurs et les environnements Node.js et s'appuie sur le moteur JavaScript pour analyser et exécuter du code. 1) Générer une arborescence de syntaxe abstraite (AST) au stade d'analyse; 2) Convertir AST en bytecode ou code machine à l'étape de compilation; 3) Exécutez le code compilé à l'étape d'exécution.

L'avenir de Python et Javascript: tendances et prédictionsL'avenir de Python et Javascript: tendances et prédictionsApr 27, 2025 am 12:21 AM

Les tendances futures de Python et JavaScript incluent: 1. Python consolidera sa position dans les domaines de l'informatique scientifique et de l'IA, 2. JavaScript favorisera le développement de la technologie Web, 3. Le développement de plate-forme multiplié deviendra un sujet brûlant, et 4. L'optimisation des performances sera le focus. Les deux continueront d'étendre les scénarios d'application dans leurs champs respectifs et de faire plus de percées dans les performances.

See all articles

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Outils chauds

SublimeText3 version anglaise

SublimeText3 version anglaise

Recommandé : version Win, prend en charge les invites de code !

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

SublimeText3 Linux nouvelle version

SublimeText3 Linux nouvelle version

Dernière version de SublimeText3 Linux

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

Puissant environnement de développement intégré PHP