L'utilisation de "prototype" par rapport aux " cela en JavaScript?

Quelle est la différence entre

var A = function () {
    this.x = function () {
        //do something
    };
};

et

var A = function () { };
A.prototype.x = function () {
    //do something
};
connexes: la Définition de méthodes via prototype vs l'utilisation de ce dans le constructeur - vraiment une différence de performance?, et de bonnes réponses sur les doublons: Déclarant méthode dans le constructeur ou sur le prototype, ce vs prototype
le concept de CE mot-clé est expressément précisé ici scotch.io/@alZami/understanding-this-in-javascript
La lecture de "ce" thread montre combien horrible est JS et combien ses principes ne sont pas claires à de nombreux développeurs. Précisément ce qui est erroné avec plus facile à comprendre pour les langues? Je pense qu'il est temps aux développeurs de faire entendre leur voix pour rejeter confusion des technologies qui ne servent à rien ou de peu de valeur pour les affaires ou pour le travail de développement.
Sur l'objet: a1.x !== a2.x; sur le prototype: a1.x === a2.x

OriginalL'auteur sw234 | 2008-11-22