Oct.18

[JS] Surcharge de parametres JavaScript

C’est en lisant le code source JS d’Atlas que j’ai decouvert la surcharge de parametres Javascript. Ok cela vous parrez peut être idiot mais comme dirait un certain B.Watterson : L’idiotie est l’essence des hommes et je n’ai d’honte à apprendre 🙂

Alors voila, je lisais le code et un moment donné je vois une fonction du type :

Qui était appellé par une ligne de type :

A ce moment j’ai senti mes petits neuronnes s’exciter dans tous les sens avec la question : Je ne comprends pas, ma fonction attend deux arguments et moi je lui en passe quatre.. Qu’est ce qu’il se passe ? 🙂
Dans le code de la fonction j’ai vu à plusieurs reprises le mot arguments. En fouillant un peu plus, impossible de trouver la déclaration de cette variable. Serait-ce une variable propre à JS ???
J’ai donc créé une page html entierement vide pour faire un alert() dans une fonction de cette fameuse variable arguments. Suspense jusqu’a l’execution de la page : vais-je tomber sur un undefined ?? => Et ben non, une belle alerte avec inscrit [object Object] et mes petits neuronnes reprirent une activité normale 🙂

En effet, tous les parametres passés à une fonction javascript sont contenu dans un tableau (Array) nommé arguments.
Exemple simple :

Vous affichera un beau message :

Et pourtant ma fonction ne prend aucun parametre explicitement 🙂 Genial non ?

Dev
Share this Story:
  • facebook
  • twitter
  • gplus

Comments(1)

  1. paul
    le 4 février 2016 à 19:13

    Salut SÉBASTIEN,
    Juste pour te remercier pour cette information absolument géniale. Encore un grand merci pour l’avoir partager clairement et simplement. Elle valait bien un post !!!

Leave a comment

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.

Comment