0
私は最近、Javascriptでプロトタイプについて学び始めました。私はプロトタイプにメソッドを追加する利点について混乱しています。ここで私は、円の面積を計算するJavascriptオブジェクトプロトタイプの利点?
一つの方法は、この
function Circle(radius, area){
this.radius = radius;
this.area = (radius*radius*Math.PI);
}
ようなものでしたが、その後、別の方法があるこれは何
function Circle(radius, area){
this.radius = radius;
}
Circle.prototype.area = function(){
return this.radius*this.radius*Math.PI
}
ようなものだろうと考えています何の例です。領域メソッドをプロトタイプの一部にする利点は、コンストラクタに直接メソッドを置くことよりもですか?
コンストラクタにメソッドを配置していません。もしあれば、各インスタンスに対して新しいメソッドを作成するのではなく、プロトタイプメソッドをすべてのインスタンスで使用できるという利点があります。 –
コンストラクタにアクセスできないネイティブ関数にメソッドを追加したい場合はどうすればいいでしょうか。 –
これは単なる悪い例です(混乱している実装/引数で)。しかし、基本的には文字列を考えてみてください...文字列にプロトタイプメソッドを持つ "like"?それが「利点」です。 – Amit