-
Notifications
You must be signed in to change notification settings - Fork 1
JavaScript
comutt edited this page Oct 2, 2012
·
1 revision
趣旨に基づき、無難しいことはしませんが、 最低限の JavaScript の知識は事前に勉強しておいていただけると幸いです。 (一般的なオブジェクト志向言語と比較すると、少し変態的です)
JavaScript でのクラス(のようなもの)の定義は
function HogeClass() {}
その実体化は
var hoge = new HogeClass();
以降、便宜上、 function HogeClass() {}
のように定義した関数オブジェクトをクラスと表記します。
JavaScript は匿名関数をすごく、すごく、多用します。 (Jasmine のテストケースでも一杯使います)
function doHoge(func) {
return func();
}
var result = doHoge(function() {
return "hogehoge";
});
上記のようなコードがあった場合、 result は "hogehoge" になります。 匿名関数がよくわからない方は、詳しく理解しなくても今回の勉強会では大丈夫です。 面食らわないようにだけしてください。(本当によく使うので)
クラスへのメソッド追加は
function HogeClass() {}
HogeClass.prototype.hello = function() {
return "hello";
}; // 最後のセミコロン大事
のように行います。 上記のように定義した場合、
var hoge = new HogeClass();
alert(hoge.hello());
は "hello" がダイアログに表示されます。
.prototype というのを使うのが、 JavaScript が変態たる所以です。 今回の勉強会では、そういうもんだと思っていただければ大丈夫です。 これも使うので、面食らわないようにだけしてください。