しまてく

学んだ技術を書きためるブログ

若手IT勉強会#5 やってきた

今日やったとこ

サイ本の7章〜10章まで読みました。
録画は以下のURLからご覧ください。
http://www.ustream.tv/channel/wakateit


以下とっても簡単にまとめ。

第7章(輪講担当:すがまさお)

オブジェクトの作成
var obj = {};
//もしくは
var obj2 = new Object();
オブジェクトのプロパティの作成
obj.hoge = "a"; //こんなの
obj.fuga = "b";
オブジェクトのプロパティの列挙
for( var key in obj ){
    console.log( key );// hoge, fuga
}
ObjectオブジェクトのtoString

みんなちゃんと実装してね!

自分のプロパティかどうかのチェック
  • hasOwnProperty
  • propertyIsEnumerable

上の2つはどっちも同じ。
タイピングしやすい方を選ぶといいよ!

prototypeのプロパティかどうかのチェック
  • isPrototypeOf
JSの配列はジャグ配列
ジャグ配列

ジャグ配列は、不規則配列とも言われ、多次元配列の一種であり、
同一次元内での要素数が揃っていないことがあり得るものを言う。
これに対して通常の多次元配列を指す場合、矩形配列などと言う。
特にC#では通常の配列と区別する表記を言語が直接用意している。
イメージ的にはより「配列の配列」に近い。

〜wikipediaより引用〜

第8章(輪講担当:monjudoh)

実行中の関数のこと

arguments.calleeで取得できる。

function hoge(){
    console.log( arguments.callee == hoge ); //=> true;
}
hoge();
関数呼び出し時の型チェックはできない

言語的な問題でね。
やりたかったら関数の中でやってね!

オブジェクトのメソッドと関数
  • オブジェクトのメソッドとしての関数は、そのオブジェクトのスコープで実行される。
  • トップレベルで定義されている関数は、グローバルオブジェクトのスコープで実行される。
関数の仮引数の数
  • 関数名.length

もしくは呼ばれた関数内で

  • arguments.callee.length
applyとcall
  • call
    • 第1引数がthisになるもの。
    • 第2引数以降が関数に渡す引数。(カンマ区切り)
  • apply
    • 第1引数がthisになるもの。
    • 第2引数が関数に渡す引数のリスト。(配列)
クロージャIEメモリリーク

モダンなJSライブラリを見るとそのへんの回避策がわかるよ!

第9章(輪講担当:monjudoh)

JSの継承

でもイマドキのJSっ子はこんなのしない。

mixin(っぽいの)
    • メソッドだけコピーするとうまいこと多重継承っぽいこと(mixinっぽいこと)ができる。

こっちをやるといいよ。

第10章(輪講担当:cimadai)

感想

なんとなく勉強会の名前から「ものすごい若手」を想像している方が多いようですが
全然年齢は気にしていません!

今参加している人の平均年齢はきっと20代中頃くらいですー。
興味がある人は↓にどうぞ。
http://www7.atwiki.jp/young-study/