IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
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

JavaScript Discussion :

Syntaxe fonctions fléchées vs syntaxe "classique"


Sujet :

JavaScript

  1. #1
    Membre averti
    Homme Profil pro
    Reconversion
    Inscrit en
    Novembre 2018
    Messages
    502
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Reconversion
    Secteur : Santé

    Informations forums :
    Inscription : Novembre 2018
    Messages : 502
    Points : 300
    Points
    300
    Par défaut Syntaxe fonctions fléchées vs syntaxe "classique"
    Bonjour,

    En tant que débutant js je me demandais quelles étaient les différences et/ou les avantages à utiliser les 2 syntaxes qui suivent ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    function multiply(x,y) {
        return x * y;
    }
     
    let multiplyWithArrox = (x,y) => x * y;
     
    multiply(3,4);
    multiplyWithArrox(3,4);
    Merci pour vos réponses

  2. #2
    Expert confirmé
    Avatar de Doksuri
    Profil pro
    Développeur Web
    Inscrit en
    Juin 2006
    Messages
    2 451
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 451
    Points : 4 600
    Points
    4 600
    Par défaut
    developer.mozilla.org/fr/docs/Web/JavaScript/Reference/Functions/Arrow_functions
    permet d’avoir une syntaxe plus courte que les expressions de fonction et ne possède pas ses propres valeurs pour this, arguments, super, ou new.target
    je pense que c'est clair non ?
    Deux facteurs sont à l’origine de la conception des fonctions fléchées : une syntaxe plus courte et l’absence de this spécifique à la fonction. Sur ce dernier point, cela signifie qu’une fonction fléchée ne lie pas son propre this au sein de la fonction (il en va de même avec arguments, super ou new.target).
    La forme des pyramides prouve que l'Homme a toujours tendance a en faire de moins en moins.

    Venez discuter sur le Chat de Développez !

  3. #3
    Membre averti
    Homme Profil pro
    Reconversion
    Inscrit en
    Novembre 2018
    Messages
    502
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Reconversion
    Secteur : Santé

    Informations forums :
    Inscription : Novembre 2018
    Messages : 502
    Points : 300
    Points
    300
    Par défaut
    Non ,justement pas pour moi lol. Surtout le "et ne possède pas ses propres valeurs pour this, arguments, super, ou new.target"

  4. #4
    Membre actif Avatar de Gobble
    Homme Profil pro
    Intégrateur Web
    Inscrit en
    Octobre 2014
    Messages
    100
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Intégrateur Web
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Octobre 2014
    Messages : 100
    Points : 222
    Points
    222
    Par défaut
    Il faudrait déjà reprendre un peu la compréhension de l'opérateur this en javascript, il me semble, avant de bien visualiser l'intérêt des fonctions fléchées.

    Comprendre this en javascript/

  5. #5
    Membre averti
    Homme Profil pro
    Reconversion
    Inscrit en
    Novembre 2018
    Messages
    502
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Reconversion
    Secteur : Santé

    Informations forums :
    Inscription : Novembre 2018
    Messages : 502
    Points : 300
    Points
    300
    Par défaut
    Du coup, c'est que je m'apprête à faire. Dans ma petite tête, this fait référence à l'objet courant. Je vais lire la doc, désolé pour le dérangement

    J'ai trouvé mon bonheur sur un article que je trouve très bien fait. Sait-on jamais si un autre débutant passe par là. Cela dit ce ne sont pas des concepts si simple que cela en terme d'abstraction.
    https://www.javascripttutorial.net/j...ion_invocation

  6. #6
    Membre confirmé
    Homme Profil pro
    OoW
    Inscrit en
    Juin 2019
    Messages
    134
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : Ukraine

    Informations professionnelles :
    Activité : OoW

    Informations forums :
    Inscription : Juin 2019
    Messages : 134
    Points : 472
    Points
    472
    Par défaut
    \ô/
    Je vais lire la doc, désolé pour le dérangement
    tant qu'à lire de la documentation autant le faire bien , pour cela il y a l'incontournable MDN avec L'opérateur this, tu auras une vision surement plus clair après des avantages/inconvénients liées à l'emploi des fonctions fléchées.

    Si l'anglais ne te rebute pas, ou si tu as un bon traducteur , il est fait référence dans la page donnée ci-dessus à Gentle Explanation of "this" in JavaScript que je trouve également très intéressante.

    Bonne lecture.

  7. #7
    Membre confirmé
    Homme Profil pro
    OoW
    Inscrit en
    Juin 2019
    Messages
    134
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : Ukraine

    Informations professionnelles :
    Activité : OoW

    Informations forums :
    Inscription : Juin 2019
    Messages : 134
    Points : 472
    Points
    472
    Par défaut Re
    Je rajoute : Éloquent JavaScript que j'avais vu passer sur ce site et que j'ai retrouvé.

  8. #8
    Membre averti
    Homme Profil pro
    Reconversion
    Inscrit en
    Novembre 2018
    Messages
    502
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Reconversion
    Secteur : Santé

    Informations forums :
    Inscription : Novembre 2018
    Messages : 502
    Points : 300
    Points
    300
    Par défaut
    Merci pour les retours, ma confusion vient du fait que j'ai commencé angular avant js (la dernière chose à faire lol), et du coup, j'ai l'impression que dans angular, le this fait référence à toute la classe. Avant j'ai fait un peu de java et je suis un peu déconcerté.

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

Discussions similaires

  1. Utilisation des fonctions fléchées =>
    Par moimp dans le forum Général JavaScript
    Réponses: 0
    Dernier message: 20/09/2017, 18h29
  2. Syntaxe de la fonction SQL month() ??
    Par merlubreizh dans le forum Langage SQL
    Réponses: 3
    Dernier message: 01/09/2005, 11h16
  3. [T-SQL] Creation d'une fonction (syntaxe)
    Par MaxiMax dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 18/08/2005, 15h27
  4. probleme fonction syntaxe
    Par gIch dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 28/02/2005, 09h52
  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, 15h33

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