⊗jsPmROInr 294 of 505 menu

L'opérateur rest en JavaScript

Commençons cette leçon par une explication. Dans toutes les leçons précédentes de cette section, je ne vous ai pas dit toute la vérité sur l'opérateur ...

En fait, cet opérateur, selon son emplacement dans le code, peut être appelé soit opérateur spread, soit opérateur rest.

Comme vous le savez déjà, lorsque l'opérateur spread se place devant un tableau ou une chaîne, il les sépare en valeurs individuelles. L'opérateur rest, bien qu'il ait la même syntaxe ..., est destiné à autre chose.

Voyons maintenant à quoi. Imaginons que nous ayons une fonction prenant deux paramètres :

function func(a, b) { console.log(a); console.log(b); }

Vous devriez déjà savoir que si vous passez trop de paramètres à la fonction, cela ne provoquera pas d'erreur :

func(1, 2, 3, 4, 5);

L'opérateur rest permet d'obtenir tous les paramètres supplémentaires sous forme de tableau. Pour cela, un paramètre supplémentaire est ajouté à la fonction (obligatoirement en dernier), précédé de 3 points :

function func(a, b, ...rest) { }

Ces trois points constituent l'opérateur rest, et le nom de la variable peut être quelconque, mais il est également d'usage de l'appeler rest.

Appelons notre fonction avec un nombre excessif de paramètres et voyons ce qui arrive dans les paramètres a et b, et ce qui - reste dans rest :

func(1, 2, 3, 4, 5); function func(a, b, ...rest) { console.log(a); // affichera 1 console.log(b); // affichera 2 console.log(rest); // affichera [3, 4, 5] }

S'il n'y a pas de paramètres supplémentaires, la variable rest sera un tableau vide :

func(1, 2); function func(a, b, ...rest) { console.log(a); // affichera 1 console.log(b); // affichera 2 console.log(rest); // affichera [] }

La fonction peut n'avoir aucun paramètre du tout, mais on peut tout de même y ajouter rest. Dans ce cas, la fonction pourra être appelée avec n'importe quel nombre de paramètres et ils tous seront placés dans le tableau rest :

function func(...rest) { console.log(rest); }
Français
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Nous utilisons des cookies pour le fonctionnement du site, l'analyse et la personnalisation. Le traitement des données est effectué conformément à la Politique de confidentialité.
accepter tout personnaliser refuser