Kanasan.JS JavaScript第5版読書会#2に参加してきました
今回は45人という非常に大きな規模のイベントになってて驚きました。
やっぱりid:amachang効果でしょうか。
ゲストに会えたりするのも醍醐味の一つですよね。
午前の部
今回も相変わらずレベルは高かったです。
特に午前中のLightning TalkではJavaScript以外の研究の成果など
多彩な話題に加えその知識の広さに圧倒されましたね。
個人的にHaskell興味津々でした。
ujihisaさんの徹底的な省エネプログラミング思想が楽しい。
ただスピード感について行くのがやっとだったんですが。。。
午後の部
午後は前回の続きでP.81の6章『文』から読書会が始まりました。
綺麗なまとめは他の方にお譲りするとして、
個人的に気になったとこをメモ程度に。
- 文と式の違い
式を評価すると値を返すが文の宣言は値をもたない。
if文の条件式の括弧内に書けるものが式。
書けないものが文。
- switchのcaseラベルの値は実行時に決定される。
評価対象とラベルの値を厳密比較(===)で比較して真となるcaseが実行される。
実行後はswitch文を抜ける。
defaultラベルは何番目に書くこともできる。
その場合でも一致するcaseが無い場合のみ実行される。
二つ以上のcaseが一致する場合は上が優先となる。
以下のようなケースの場合「50 + 50」と表示される。
var n = 100; switch(n) { case 1: break; default: alert('default'); break; case 50 + 50: alert('50 + 50'); break; case 100: alert('100'); break; }
- for文のinitializer
基本的には式しかかけないがvar文のみ例外で書く事ができる。
- for inによるプロパティ名の列挙
var obj = {x:1, y:2, z:3}; var ary = []; var i = 0; for(ary[i++] in obj); ary //-> ["x", "y", "z"];
ブロックスコープが無い為、このような事ができるものと思われる。
- for文などの処理に空文を置く事によるバグの対処法
空文を書かないのが一番。
でもライブラリではよく書いてあるの見かけるんだよね。。。
懇親会
今回は初めて飲み会前提での懇親会がありました。
酒のおかげもあって全体的に非常に和やかなムードなのに加え、
私自身、今回で4回目の参加となる為、参加者の顔とスキルがだいぶ一致してきました。
おかげで話がし易くなってきたのか、
たくさんの人と技術の事を中心に話ができて楽しめました。
懇親会の最中にid:amachangさんとnanto_viさんのトークがあったので
聞き耳をたてにいったんですが、その時二人に質問をぶつけてみました。
『今後のJavaScriptというかWEBのフロントサイドでの技術の方向性について』
二人とも基本的には現在の技術は過渡期であるので、
あらゆる事を試すことは良いが、ある程度の収束は必要と考えているよう。
Airなどの可能性はありだがそれによりAdobeのみが、
力を持つような体制は望ましくないと言ってました。
特にnanto_viさんはWEBの基本姿勢としては誰でも情報へ同様のアクセス方法を
提供できることが大事なので過去の(枯れた)技術を使った現在のアプローチは必要と言ってました。
(もちろん今後のモバイル端末によるアクセス手段も含めて)と自分は受け取りました。
最後に
みなさん本当にお疲れ様でした。
またKanasan、スタッフの皆さん共々ありがとうございました。
また次回もよろしくお願いします。