Partage
  • Partager sur Facebook
  • Partager sur Twitter

A quoi servent ces parenthèses ?

    3 octobre 2019 à 21:17:31

    Bonjour à tous, 

    j'apprends avec assiduité le javascript et sa syntaxe. En ce moment je suis sur ES6. Il y a un petit truc que je ne comprends pas. 

    Voici un exemple de code :

    const increment = (function() {
      return function increment(...args) {
        return args.reduce((a, b) => a + b);
      };
    })();

    Je ne comprends pas à quoi sert la toute dernière paire de parenthèses à la fin de ce code. Quelqu'un pour m'éclairer ?

    Et je trouve ce code vraiment bizarre, une impression de lourdeur. C'est pas plus simple d'écrire ça de cette façon ?

    const increment = (...args) => args.reduce((a, b) => a + b);

    Ou alors de cette façon ?

    const increment = (function(...args) {
      return args.reduce((a, b) => a + b);
    });

    Je me dis que c'est peut-être le cours qui est fait ainsi pour bien nous exposer la chose sous l'angle le plus complet ? (FreeCodeCamp).

    En tout cas merci à celui qui va pouvoir m'éclairer sur cette mystérieuse paire de parenthèses. 

    Bonne soirée :)




    • Partager sur Facebook
    • Partager sur Twitter
    Anonyme
      3 octobre 2019 à 21:25:07

      C'est la syntaxe d'une IIFE (Immediately Invoked Function Expression).

      Effectivement dans ce cas je ne vois pas à quoi ça sert.

      • Partager sur Facebook
      • Partager sur Twitter
        3 octobre 2019 à 21:27:57

        Ok merci pour ta réponse rapide et efficace :)
        • Partager sur Facebook
        • Partager sur Twitter
          6 octobre 2019 à 8:55:36

          Bonjour Eddy67 ,

          Regarde https://developer.mozilla.org/fr/docs/Web/JavaScript/Reference/Fonctions

          Dans ton exemple de fonction il me semble que

          const increment = (...args) => args.reduce((a, b) => a + b);

          est la plus adaptée

          (function() {

          })();
           pour simplifier permet de "limiter" la porté des variables et fonction
          • Partager sur Facebook
          • Partager sur Twitter
          Découvrez les Css avec la zonecss.fr

          A quoi servent ces parenthèses ?

          × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
          × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
          • Editeur
          • Markdown