以下の両方のJSクラスの出力が同じであるため、プロトタイプで特別なのは何ですか?JS関数内のメソッドとそのプロトタイプの違いは何ですか?
プロトタイプの特徴の1つは、重複したコードを取り除くことです。これはプロトタイプで可能ですか?
1.
function Person(name) {
this.name = name;
this.sayName = function() {
console.log(this.name);
};
}
var person1 = new Person("Nicholas");
person1.sayName();
2.
function Person(name) {
this.name = name;
}
Person.prototype.sayName = function() {
console.log(this.name);
};
var person1 = new Person("Nicholas");
person1.sayName();
番号1は、クラスに属するメソッドです。番号2は、インスタンス化されたオブジェクトに属するメソッドです。 –
いいえ、プロトタイプのメソッドは重複したコードを取り除きません。 – Bergi