JavaScript: .extend と .prototype は何に使用されますか? 質問する

JavaScript: .extend と .prototype は何に使用されますか? 質問する

私は JavaScript をあまり使い始めたばかりですが、使用しているサードパーティのライブラリで .extend と .prototype が頻繁に表示されます。これは Prototype JavaScript ライブラリに関係していると思っていましたが、そうではないのではないかと思い始めています。これらは何に使用されているのでしょうか?

ベストアンサー1

Javascript の継承はプロトタイプベースなので、Date、Math、さらには独自のカスタムオブジェクトなどのオブジェクトのプロトタイプを拡張できます。

Date.prototype.lol = function() {
 alert('hi');
};

( new Date ).lol() // alert message

上記のコードでは、メソッドを定義しています。全て日付オブジェクト (既存のものおよびすべての新しいもの)。

extendは通常、基本クラスから拡張する新しいサブクラスのプロトタイプをコピーする高レベル関数です。

したがって、次のようなことができます。

extend( Fighter, Human )

また、Fighterコンストラクタ/オブジェクトは のプロトタイプを継承するため、 でやなどHumanのメソッドを定義すると、もそれらを継承します。livedieHumanFighter

更新された説明:

「高レベル関数」とは、.extend が組み込まれておらず、jQuery や Prototype などのライブラリによって提供されることが多いことを意味します。

おすすめ記事