JavaScriptのクラスを定義する

メソッドを加える

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

ぜひご覧ください。

無料で視聴する すべての加入プランを見る
または
クラスのオブジェクトから呼び出すメソッドを、名前のない関数で定めてみます。
講師:
07:07

字幕

クラスのオブジェクトから呼び出す関数をメソッドと呼びます。このレッスンではクラスにメソッドを定める方法についてご説明します。今 Point というコンストラクタの関数はプロパティを2つ持っています。x と y です。さてここでメソッド、オブジェクトから呼び出せる関数を定めてみたいと思います。その場合、定め方はプロパティとまず始めは一緒です。つまりこのオブジェクトに対してメソッドを定めます。メソッド名を付けます。今回は getLength。どんなメソッドにしたいかというとこの x y と原点との距離、つまり原点 00 から今定めた xy 座標までの距離をどれぐらいあるか返してくれるというそういう関数を定めたいと思います。イコールと。ここまではプロパティと一緒です。ただメソッドは関数ですので、関数として定めます。つまりここに function と。関数名はここに定めましたのでこの function の後に関数名は付けません。名前のない関数、匿名関数とも呼ばれます。そして引数を丸括弧で受け取るんですが、特に受け取るものは今回はありません。そして中括弧始まり中括弧閉じ、これで一文終了ですのでセミコロンを付けます。 そして関数の本体と言いますけれども実際の処理内容をこの中括弧2つの中に書き込むということになります。距離は3平方の定義で求めます。どうしたかというと x 座標の二乗とy 座標の二乗を足して平方根で開くということになります。まず二乗を先に取っちゃいましょう。二乗は square と言います。四角と一緒ですね。平方というのは square から来ていますけれども、this.x 座標ですね。this を付けるのを忘れないようにしてください。掛けることの this.x足すことの this...ちょっと見えないですね、this.y 掛けることの this.y と。x の二乗と y の二乗の和が取れました。そして平方根を取って返します。返すのはリターンです。平方根は Math.sqrt と。これは何の略かと言いますと、square root です。平方根ですね、ルートは根っこですから平方根の略で square root、sqrt という関数が Math クラスに定められています。ここに今定めた square ですね、平方を入れます。これでメソッドが一つ定められました。ではせっかく定めたメソッドをここで console.log で調べてみることにしましょう。 では引数は2つ渡すことにしてx は 1 でいいとしてy は Math.sqrt の ルート 3 です。x つまり横が 1、y つまり高さがルート 3 というのは三角定規の一つですね、細長いやつです。その場合斜辺は2になります。本当になるかということで確かめますが、getLength で確かめることができます。保存しましょう。ファイルメニューからブラウザーでプレビューします。Chrome で確認します。「表示」>「開発管理」>「JavaScript コンソール」ということで結果が確認できます。平方根を取る時にちょっと誤差が出たんでしょうね。でもこれは限りなく2に近いですから、誤差を頭に置けばこれで2ということが分かります。メソッドをもう一つ定めましょう。長さが分かったので、今度欲しいのは角度ですね。x 軸と成す角といいますけれども、どんな角度になっているかということを確認します。そのメソッド名は getAngle にしましょう。「角度を得る」ということですね。名前のない関数を設定して中括弧閉じ、セミコロンです。角度ってどうやって取るんだろうかと。三角関数を使うのかと。確かに使うんですけれども JavaScript を始めとする言語には大抵簡単に求められる関数、しかもほとんど同じ名前の関数が定められています。 xy 座標から角度を返してくれる関数、JavaScript の中にありましてMath.atan2 というものです。Math.atan2。注意は y 座標が先です。yx の順番に 引数を設定します。ですから、ここで this の y、this の x ということでこれをリターンしてしまえばいいのでとても簡単ですね。保存をします。そして console.log の中に付け加えましょう。obj.getAngle ということでもちろん保存ですね。ブラウザーをリロードします。そうすると斜辺の長さは2です。三角定規、短い辺との角度になりますので60 度まで何か変な数字ということなんですが、実は Math クラスの中で扱われる角度というのは単位が度数ではありません。ラジアンという単位になっていて、180 度が π 、円周率と等しくなります。ですから換算しないとこれが 60 度かどうかちょっと普通の人には分からないですね。換算しましょう。180 度が π なのですから、π で割って 180 度掛ければいいですね。ではまず掛け算から先にやってしまいますけれども、180 を掛けて π はというとMath の中に π という定数があります。 この中に 3.14 という数字が入っていますので、もうちょっと桁数が多いですけれどもこれで計算することができます。ファイルを保存して確認しましょう。ブラウザーをリロードします。ここもちょっと誤差がありますけれどももうこれは 60 です。ですから、 60 度ということが確認できました。このレッスンでは、クラスのオブジェクトから呼び出すメソッドの定め方についてご説明しました。プロパティと同じように this に対して名前を与えて、そしてイコールの後は名前のない関数でその処理の内容を 記述すれば良いということでした。

JavaScriptのクラスを定義する

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

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

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

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

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