/ / Something.prototype.elseとSomething.elseの違いは何ですか[duplicate]-javascript、オブジェクト、プロトタイププログラミング

Something.prototype.elseとSomething.elseの違いは何ですか?[duplicate] - javascript、object、prototype-programming

可能な重複:
JavaScript:Class.method vs. Class.prototype.method

JavaScriptでオブジェクトを理解しようとしています。今、私はオブジェクトのさまざまな用途を見ており、それらを区別することはできません。

まず第一に、私が知りたい最大のことは、これら2つの違いは何ですか

Something.prototype.else = function(){
return 6;
}

そして

Something.else = function(){
return 6;
}

どちらも見た目は異なりますが、同じように使用されているか、間違っていますか。

回答:

回答№1は4

他のプログラミング言語に精通している場合は、2番目のメソッドを静的メソッドと見なすことができます。

最初のオブジェクトを使用するには、オブジェクトのインスタンスが必要です。

var x = new Something();
x.else();

2番目のインスタンスは、使用するためにインスタンスを必要としません。

Something.else();

回答№2の場合は1

それは、確かにJavaScriptの仕事の面接に適した質問です。

違いは、 Something.else オーバーライド Something.prototype.else。つまり、両方がある場合、 Something.else 使用されます。

プロトタイプを持つことの利点は、多くのオブジェクト間でプロトタイプを共有して、メモリ使用量を減らし、モンキーパッチを簡単にし、プロトタイプベースの継承を実装できることです。