JavaScriptのクラスを定義する

constructorプロパティを定める

全334コースを10日間無料で

ぜひご覧ください。

無料で視聴する すべての加入プランを見る
または
プロトタイプオブジェクトのconstructorブロパティは、クラスのコンストラクタ関数を参照します。
講師:
04:37

字幕

このレッスンでは、プロトタイプオブジェクトのconstructor というプロパティについてご説明します。今開いている html ドキュメントでは Point というクラスが定められていて、さらにその Point クラスを継承したVector というクラスも定められています。サブクラスですね。でもここでテスト用にもう一つクラスを定義します。function ということでMyClass という名前にします。テスト用ですので、もう空っぽです。そして早速プロトタイプオブジェクトのconstructor プロパティを確認してみましょう。console の log でMyClass のprototype のconstructor です。他の2つのクラスについても同様に確認しますので、これをコピーして「ペースト」、もう一個「ペースト」として、2行目はこれは Point です。3行目は Vector ということで確認してみましょう。では保存をして、ブラウザーでプレビューします。「表示」の「開発管理」で「JavaScript コンソール」を開きます。そうすると、まず今テスト用に作ったMyClass についてはMyClass と出てきますね。 ですからコンストラクターというプロパティは文字通り constructor を参照します。ところが Point も Vector もオブジェクトになっています。これはデフォルトのプロトタイプの中に設定されるものですね。なんでこうなったのか確認しておきましょう。Point クラスは ゲッターのメソッド、プロパティのようにアクセスできるメソッドなんですけれども、それを設定するためにオブジェクトを作ってプロトタイプに設定しました。オブジェクトを作ったんですね。それでプロトタイプに設定しましたから、これが参照されて、オブジェクトが constructor ということになっています。そしてその Point のプロトタイプからオブジェクトを作ったのでやはり Vector の方も、オブジェクトが constructor のプロパティの参照先になっているんですね。ですから、こういうふうにクラスをあるいはサブクラスを設定したときはやはりライブラリとして使いまわししたいということが多いでしょう。そういう場合には、 constructor のプロパティがオブジェクトになっていてもほとんどの場合問題はないんですけれども、色々と使いまわしをするときに何か問題が起こる可能性があります。 ですからこういうときはプロトタイプの constructor をちゃんと設定しなおしたほうがいいです。Point の prototype の constructor ですね。そして constructor を参照すると。Vector についても同様です。これは必ず Prototype を設定するんであれば例えば継承とかこのような場合ですね。それが終わってから設定をしないと意味がありませんね。せっかく constructor を設定した後に上書きをしてしまうことになりますので、この設定が済んでから、prototype の設定が済んでから、Vector の prototype のconstructor と。こちらが Vector ですね。...とします。そして保存しましょう。ブラウザーの方を改めてロードしなおします。そうすると MyClass は先程のままですけれども、Point はちゃんと Point の constructor、Vector は Vector のconstructor を参照して表示してくれています。ですからconstructor プロパティが正しく設定されたということが分かります。 このレッスンではprototype オブジェクトのプロパティであるconstructor プロパティについてご説明をしました。

JavaScriptのクラスを定義する

実はJavaScriptのクラスはプロトタイプというオブジェクトに基づいており、JavaやC++などのクラスとは多少異なります。またJavaScriptでクラスを定義することで機能を加えたり用途を広げることができます。このコースではJavaScriptのクラスの仕組みやコンストラクタ関数の定義、プロパティやメソッドの加え方などについて説明します。

2時間21分 (22 ビデオ)
現在、カスタマーレビューはありません…
 
ソフトウェア・トピック
価格: 2,990
発売日:2016年07月11日

このコースは、「オンデマンド」でご利用可能であり、ダウンロードすることもオンラインで見ることもできます。

ダウンロードすると、オフラインでコースを使用し、豊富なインターフェースをフルに活用できます。複数のデバイスを使用したり、 一度に全コースをダウンロードしたくない場合は、アカントにログインして、ストリーミング・ビデオとしてコースのレッスンを視聴してください。

ビデオトレーニングをお楽しみいただけますように! お問い合わせは、cs-jp@lynda.com宛までご連絡ください。