JavaScriptのクラスを定義する

クラスに静的メソッドを定める

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

ぜひご覧ください。

無料で視聴する すべての加入プランを見る
または
クラスのコンストラクタ関数には、静的なプロパティやメソッドが定められます。
講師:
08:39

字幕

このレッスンではクラスのコンストラクタ関数にプロパティやメソッドを定めています。クラスに定められたプロパティやメソッドは静的なプロパティ、静的なメソッドと言われます。静的のセイは静かという字です。今このコンストラクタ関数 Point はプロパティをコンストラクタの中で定めていてそれから prototype にメソッドが定められています。そうするとオブジェクトからこれらのメソッドを共有する事ができるということなんですが、今回はクラスこの Point に直接プロパティ・メソッドを定めてみましょう。ではここで早速定めます。Pointprototype と打ちません。直接プロパティを定めます。ここではラジアンの angle を度数に直すにはこの比率を掛け算します。ですから、これをプロパティにしてしまいましょう。そしてこのプロパティは値を変えるつもりがないです。そういうプロパティは定数と呼ばれるんですが大文字で書く習わしがあります。ですから RAD_TO_DEG と。radian (ラジアン)を degree (度数)にするということですね。そして = で、この値ですね。まんま使います。コピーを持っていきましょう。 移動でいいですね。移動してしまってこの掛け算のアスタリスクの後にPoint.RAD_TO_DEGこれを今度はコピーです。持っていきます。これでアクセスできてしまうんですね。ですから静的なプロパティ、静的なメソッドというのはオブジェクトを作らずに直接アクセスができるというそういう性質を持っています。そしてこのオブジェクトは x が1y がルート3ということですから1対ルート3底辺が1、高さルート3ですから距離は2になる筈です。そして底角は 60 度ということになりますので確認してみましょう。一回保存します。そして「ブラウザーでプレビュー」です。さて「表示」>「開発 / 管理」>「JavaScript コンソール」を出します。そうすると、距離が2誤差はありますけれども2ですね。それから底角 60 度ということで正しく表示されました。今度はメソッドです。メソッドも決め方はあ、ここセミコロンが抜けていましたね。プロパティと基本的には一緒でPoint にこのクラス名に対して直接メソッドの名前を付けます。今回は polar としましょう。polar というのは「極」北極の「極」を意味するんですけども極座標でオブジェクトを作るという風にしたいと思います。 具体的にはこの長さと、それから角度を渡してその長さと角度に合った Point のオブジェクトを作るということです。ですからここで polar の後に= function ですね。そして { } ということにします。渡すのは length なんですけども半径と角度を渡す三角関数を使います。ちょっとそれについて説明しておきましょう。これは、私のサイト FumioNonaka.com のトップページです。このページで検索をしてコサイン 「cos」と入れます。そして見てみるとここに出てきましたね。「sin と cos は何する関数」という前にやった勉強会のレジメなんですけどもこれを開いてみます。そうすると、少し下にスクロールしてこの図なんですけどもクリックすると SWF が開きます。これ、三角関数サインとコサインの定義を示しています。x にコサイン、y にサインを割り当ててそして角度は共通にしてその角度をどんどんどんどん増やしていくと半径1の円周上をこういう風にこのペンギンと同じように動くわけです。つまりコサイン・サインというのは半径1の円周上の点そして θ というのは角度です。角度が決まって半径1の円とぶつかった所の座標それを X 座標は cos θY 座標は sin θ ということで表します。 もし中心座標が (0, 0) でない原点でない場合にはその中心座標をそれぞれ足します。そして半径が1じゃないという場合にはcos と sin にそれぞれ半径を掛ければいいということになります。では今のコサインとサインの定義に従ってpolar の関数を定めましょう。ですから length でもいいんですが半径なので radius とします。そして角度は angle でいいでしょうね。これを渡されたらどうするかと言うとx y 座標をそれぞれ決めればいいということになりましてx は、原点は (0, 0) でいいので原点の座標は足し込まずにタイプミスしないようにコピーしましょう。コピーで radius 、掛けることのMath. コサインですね。x はcos です。そしてその中に角度を入れます。そして y も同様なのでコピーした方が少し楽ですかね。コピーしてペーストします。ここは y にしてcos を、y 座標は sin ですので。これで座標が決まりましたからオブジェクトを作って返します。return、new ですね。 Point と。そして x と y を今計算した値を与えてこれでオブジェクトが出来上がります。 ではここ、new Point ではなくてオブジェクトを作ってる部分なんですがテスト用のコードです。Point.polar と。( ) が二重になっちゃいましたね。クラスに直接メソッドを定めましたのでここでもクラス ドット メソッドそれから距離は2にしましょうか。距離を2にして、角度 60 度は60 割ることの、と「radian を degree にする」のは掛ければよかった、ですね。今度は逆の場合には割り算をします。ですからこれをコピーして持っていくと。割ることですね。これでいいでしょう。そしてその結果を console.log で確認すると。length と angleget メソッドで定めてありますね。そしてこの angle はラジアンですのでもう一度、Point.RAD_TO_DEG を掛け合わせて角度にします。では保存して確認しましょう。ファイルを保存して「ブラウザーでプレビュー」します。そして「表示」>「開発 / 管理」>「JavaScript コンソール」2と。これは距離2と決めましたからね。あと 60 はラジアンにしたり度数に直したりしていますのでちょっと誤差が出てしまいましたが 60 度ということで正しく計算されています。 このレッスンでは静的なプロパティ静的なメソッドこれはクラスに直接プロパティやメソッドをドットで定めてそして値を = で代入すればいいということで説明をしました。

JavaScriptのクラスを定義する

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

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

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

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

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