11
votes

Différence entre myClass.Prototype = nouvel objet () et myClass.Prototype = objet

Quelqu'un pourrait-il s'il vous plaît dites-moi, où en javascript dans la différence entre xxx

et xxx

est? Et s'il n'y a pas de différence dans le résultat, lequel est la meilleure pratique-way-to-Go?


4 commentaires

duplicaillard possible de Quelle est la raison d'utiliser le "nouveau 'Mot-clé ici?


@Bergi Cette question a plus de 4 ans. Celui que vous avez lié a 2 ans ...


La réponse de 1,5 an est toujours valide et cette question est toujours trouvée via la recherche et les liens. Il devrait indiquer d'autres réponses utiles ...


Dupliqué possible de Nouveau MyObject (); vs nouveau myObject;


3 Réponses :


2
votes

Cela dépend de objet . S'il s'agit d'une fonction que vous souhaitez utiliser la méthode nouvel objet () . S'il s'agit d'une "classe virtuelle" (définie à l'aide de objet = {quelqueProperty: quelqueévalue} ), vous utilisez la deuxième méthode.

Certains autres pointeurs de Cette page sur le héritage prototype dans JavaScript


0 commentaires

11
votes

Vos deux premiers exemples sont complètement équivalents: xxx pré>

Votre troisième exemple n'est pas valide, car vous attribuez au myClass.ProTotype code> une référence à la Object constructeur, et c'est une fonction, pas un nouvel objet. P >

Je préfère personnellement la seconde, l'objet littéral ou Initialiseur Syntaxe: P>

MyClass.prototype = Object;
MyClass.prototype.foo = 'bar';

Object.foo === MyClass.prototype.foo; // true


2 commentaires

HMHM, donc si les deux exemples ne produisent pas d'erreurs d'aucune sorte et font essentiellement la même chose (en réalité), il ne s'agit que de la laxité du moteur JavaScript du navigateur qui permet au deuxième exemple de fonctionner?


Non, je sais que {} == nouvel objet (). Ce que je voulais dire par "deuxième exemple" était ... prototype = objet;



0
votes

myClass.Prototype.Method1: fonction () {/ ** /};

correction à ce qui précède: il devrait être xxx

(notez le signe égal après "méthode1").

Le côlon est utilisé uniquement lorsque la définition de la méthode est elle-même dans une définition d'objet, comme: xxx


0 commentaires