Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

  1. #1
    Membre régulier
    Inscrit en
    mars 2007
    Messages
    198
    Détails du profil
    Informations forums :
    Inscription : mars 2007
    Messages : 198
    Points : 83
    Points
    83

    Par défaut Syntax fonction flechées

    Bonjour,

    Est ce que quelqu'un pourrai m'expliquer la syntax suivante :


    Je comprends bien celle-ci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    handleDrawerOpen = () => {
    ...
      }
    mais pas celle là

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     handleToggle = value => () => {
    ....
      };
    Merci pour votre aide

  2. #2
    Expert confirmé Avatar de Watilin
    Homme Profil pro
    En recherche d'emploi
    Inscrit en
    juin 2010
    Messages
    2 645
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : En recherche d'emploi

    Informations forums :
    Inscription : juin 2010
    Messages : 2 645
    Points : 5 547
    Points
    5 547

    Par défaut

    Pour y voir plus clair, essayons de réécrire ce bout de code avec une syntaxe un peu plus ancienne.
    Avec le classique mot-clé function de ES5, la fonction handleToggle s’écrit de manière un peu plus verbeuse :
    Code JS : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    handleToggle = function (value) {
      return function () {
        ....
      };
    };

    Quand tu appelles handleToggle, ça te renvoie une fonction qui, à son tour, renvoie une autre fonction.

    Code JS : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    let fonctionA = handleToggle(42);
    let fonctionB = fonctionA();

    J’ai mis 42 comme value parce que je n’ai aucune idée de ce qu’il faut mettre, c’est juste pour l’exemple.

    Cette autre fonction, fonctionB, est celle qui contient en réalité les .... que tu as écrits.

    Ces appels de fonction successifs peuvent s’écrire en une seule instruction :
    Code JS : Sélectionner tout - Visualiser dans une fenêtre à part
    let fonctionB = handleToggle(42)();

    Pour l’anecdote, ce genre de procédé est parfois appelé a un certain rapport avec la curryfication.
    La FAQ JavaScript – Les cours JavaScript
    Un article du MDN n’a pas de version française ? Je peux peut-être le traduire, envoyez-moi un MP

    La touche F12 : l’outil indispensable à tout développeur JavaScript !

  3. #3
    Rédacteur/Modérateur

    Avatar de yahiko
    Homme Profil pro
    Ninja
    Inscrit en
    juillet 2013
    Messages
    1 153
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ninja

    Informations forums :
    Inscription : juillet 2013
    Messages : 1 153
    Points : 6 683
    Points
    6 683
    Billets dans le blog
    43

    Par défaut

    Très bonne réponse.

    Cependant, je ne suis pas vraiment (du tout) d'accord sur l'utilisation du terme curryfication à la fin.
    La curryfication consiste à transformer une fonction ayant plusieurs arguments en une composition de fonctions à un seul argument. Nous ne sommes pas dans ce cas puisque la fonction handleToggle n'a déjà qu'un seul argument.
    Tutoriels et FAQ TypeScript

  4. #4
    Expert confirmé Avatar de Watilin
    Homme Profil pro
    En recherche d'emploi
    Inscrit en
    juin 2010
    Messages
    2 645
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : En recherche d'emploi

    Informations forums :
    Inscription : juin 2010
    Messages : 2 645
    Points : 5 547
    Points
    5 547

    Par défaut

    Citation Envoyé par yahiko Voir le message
    Cependant, je ne suis pas vraiment (du tout) d'accord sur l'utilisation du terme curryfication à la fin.
    Ok, je reconnais que j’ai mal formulé ma phrase. Mais je pensais que ça valait le coup d’en parler
    La FAQ JavaScript – Les cours JavaScript
    Un article du MDN n’a pas de version française ? Je peux peut-être le traduire, envoyez-moi un MP

    La touche F12 : l’outil indispensable à tout développeur JavaScript !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [VBA] syntaxe fonction domaine multicriteres
    Par christian81 dans le forum VBA Access
    Réponses: 9
    Dernier message: 12/03/2007, 14h06
  2. Syntaxe fonction ereg()
    Par alain31tl dans le forum Regex
    Réponses: 20
    Dernier message: 26/09/2006, 02h44
  3. Verification syntaxe fonction javascript
    Par calitom dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 12/09/2006, 17h02
  4. [PHP-JS] syntaxe fonction verification select
    Par calitom dans le forum Syntaxe
    Réponses: 1
    Dernier message: 12/09/2006, 15h53
  5. [VB6] [Syntaxe] Fonction renvoyant un tableau d'objets
    Par Troopers dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 18/10/2002, 16h33

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo