JavaScriptのクラスを定義する

Function.prototypeプロパティとプロトタイプオブジェクト

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

ぜひご覧ください。

無料で視聴する すべての加入プランを見る
または
クラスの継承はコンストラクタのFunction.prototypeプロパティで確かめられます。
講師:
04:30

字幕

このレッスンではクラスの継承とprototype というプロパティについて説明します。今 Point のクラスが定められていてそして x y 、座標なんですがその設定をし座標の原点からの距離を出すメソッドとかそれから角度を返すメソッドが定められています。ここでテスト用に Point のオブジェクトを引数を渡して作っています。ここではその座標の長さとか角度を確認しているんですけども今回はここを消してしまって作られたインスタンスPoint のインスタンスそのものをconsole.log に渡してみましょう。保存をしてブラウザーでプレビューしてみます。そして「開発管理」>「JavaScript コンソール」で確認しますとPoint のオブジェクトができました、ということで三角をクリックするとその中が出てくるんですがx y の座標が設定されています。それからメソッドがこういうメソッドがありますよ、と出てきますね。その下に覚えのないこれはプロパティなんですけどもそれが表示されています。__ proto__ object とあるんですがこれは何を示しているかと言うとPoint というクラスを作ったんですがクラスを定めると自動的に親が通常決まります。 その親を示しています。オブジェクトのクラスが親になっているということですね。親子関係があるということです。子供は、親と関係があるとどういうことができるかと言うと親の持っているプロパティやメソッドは全て自分のものとして使うことができるのです。この三角をクリックするとオブジェクトが持っているメソッドが確認できます。ここにありますね。この中で、toString というメソッドを使ってみようかと思います。今 Point のクラスの中にはtoString というメソッドを定めていません。けれども、親が持っているのでこれらのメソッドを使うことができるこれらのプロパティ、メソッドを全て持ってこられるというこの関係のことを継承と言います。つまりオブジェクトを継承してPoint のクラスが作られている、ということになります。それを確かめてみましょう。まずは先程見たtoString というメソッドこの中には無いんですけども使えるかどうか確認してみましょう。この Point のオブジェクトに対してtoString( ) ですね。これを呼び出してみます。ファイルを保存してブラウザーをリロードしましょう。そうすると、[ ] の中にobject Object と出てきます。 この意味はどうでもいいんですけれどもオブジェクトの toString というメソッドを呼び出すとこの表示が文字列として出されることになっています。ですから、toString を継承しているということが言えるわけです。そして更に、その継承を確かめる為のプロパティがあります。継承はクラスがしていますのでオブジェクトのプロパティではありません。クラス、つまりこのコンストラクタの関数のプロパティなんですね。これをコピーして持ってきます。そして継承は prototype というプロパティここで確かめることができます。この prototype というプロパティに継承している親のオブジェクトが自動的にこのコンストラクタを作る時に定義する時に設定されることになっています。では確かめてみましょう。ファイルを保存してブラウザーをリロードします。そうすると、オブジェクトが prototype プロパティに設定されていますよ、ということが表示されます。オブジェクトがつまり親ですからオブジェクトのプロパティメソッドは子供の Point が全て使うことができる、継承しているということが確かめられます。このレッスンでは親のクラスのメソッドやプロパティを全て子供が使うことができる継承という仕組みそしてその継承を確かめる為のコンストラクタ関数のプロパティprototype について説明しました。

JavaScriptのクラスを定義する

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

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

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

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

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