私は正確に同じことをした文字列の機能のこれらの2つの例を持っている:継承されたメソッド(プロトタイプ)と静的メソッド(式)の違いは何ですか?
//ex1 - inherited method
String.prototype.slugLower = function() {
return this.split(' ').join('-').toLowerCase();
}
"hello World".slugLower();
//ex2 - static method
String.slugLower = function(str) {
return str.split(' ').join('-').toLowerCase();
}
String.slugLower("hello World");
の両方が"hello-world"
を返します。それらの違いは何ですか?パフォーマンス/ベストプラクティスを意味します。
ありがとう
私はクラスベースの言語で 'static'と' inherited'との比較が気に入っています。 '継承された'インスタンスがすべてのオブジェクトインスタンスによって共有されるため、類推はわずかに崩れます。しかし、まだ良い並行。 –