2. プロトタイプメソッド
/**
* 人物クラス: 人物を定義し、属性名と getName メソッドを持ちます
*/
function person(){}
person.prototype.name = "jack";
person.prototype.getName = function() { return this.name;}
クラスの属性(フィールド)とメソッドをプロトタイプにぶら下げます。
テストするオブジェクトをいくつか作成します:
var p1 = 新しい人();
var p2 = 新しい人();
console.log(p1.getName());//ジャック
console.log(p2. getName()) ;//ジャック
出力はすべてジャックであることがわかります。そのため、プロトタイプ メソッドの欠点は、オブジェクト インスタンスをパラメータを通じて構築できないことです (通常、各オブジェクトの属性は異なります)。 利点は、すべての Object インスタンスが (コンストラクター メソッドと比較して) getName メソッドを共有するため、メモリの無駄が発生しないことです 。