function, prototype

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : function, prototype

Re: function, prototype

par kodjo » 05 févr. 2017, 14:38

Un début de réponse après quelques recherches:

Prototype permet à toutes les instances de la "classe" de partager les méthodes créées. Alors qu'avec une déclaration function, chaque instance a une copie distincte des méthodes créées.

2 implications:
- prototype permet une amélioration de la performance, puisque les méthodes ne sont pas dupliquées pour chaque instance
- lorsqu'une méthode est modifiée, toutes les instances sont mises à jour avec prototype, ce qui n'est pas le cas avec function

Il y a d'autres implications mais mon niveau modeste en javascript ne me permet pas pour l'instant d'en comprendre plus.
Si vous avez des commentaires ou des compléments sur ces concepts, ils sont les bienvenus!

function, prototype

par kodjo » 03 févr. 2017, 17:49

Bonjour à tous,

En lisant des modules node.js pour apprendre, je me rends compte que certains de ces modules déclarent des fonctions comme ceci dans le fichier du module:

function test () {

}

D'autres déclarent comme ceci:
monmodule.prototype.test = function () {

}

D'autres utilisent un mix des deux. Comment décider quelle approche utiliser et dans quels cas?
En vous remerciant pour vos réponses.