JavaScriptでクラス定義

求人

JavaScriptではnew演算子がありますが、クラスというのは存在しません。

newするとコンストラクタからインスタンスを生成します。

thisがいきなり出てきましたが、thisという空のオブジェクトが定義されてreturnされているという感じです。

new演算子を使用するとconstructorプロパティが生成され、newしたコンストラクタを参照しています。

以下、constructorをalertしたソースです。

DEMO

次にprototypeプロパティについてです。

関数宣言するとprototypeプロパティが生成されます。

DEMO

carは何も定義していないCarをnewしたにもかかわらず、car.speedやcar.warn()が使えます。

prototypeは関数の親メソッド・プロパティのようなイメージです。

個別にメソッドやプロパティを定義したい場合は関数宣言に定義し、関数共通のメソッドやプロパティはprototypeで定義するべきです。

また、prototypeが親なので、関数宣言時に同じ名前のプロパティなどを宣言するとオーバーライドされます。

DEMO

関西で140-170/80~120万から受け付けております^^
得意技はJS(ES6),Java,AWSの大体のリソースです
Python3.6,Djangoを勉強中です,Javaは少し飽きてしまってます–;
コメントはやさしくお願いいたします^^
座右の銘は、「狭き門より入れ」「願わくば、我に七難八苦を与えたまえ」です^^

スポンサーリンク
  • このエントリーをはてなブックマークに追加
スポンサーリンク

コメントをどうぞ

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA