«前の日記(2008年01月13日) 最新 次の日記(2008年01月18日)» 編集

ema log


2008年01月14日 Kanasan.JS JavaScript第5版 読書会#2 に行ってきた [長年日記]

_ [JavaScript][Event][Programming] Kanasan.JS JavaScript第5版 読書会#2 に行ってきた

寝坊して遅刻。自分のLTの順番の直前に滑り込む。大変失礼いたしました。家から30分の会場で良かった・・・(実測値)。

Kanasan.JS だから、緊張していたのではなく、id:amachang の目の前でプレゼンというのに緊張していました。さらに遅刻でしたしw。

1分ぐらい余らせてしまったのがもったいない。もっと自己紹介をゆっくりしたら良かった。id:amachang はもちろんのこと、yhara さん、ujihisa さんぐらいプレゼンを上手にこなしたい。

そして、ほとんどの LT を聞き逃してしまったのが心残りです。


関連URL

公式
http://groups.google.co.jp/group/kanasanjs
動画ログ
http://www.ustream.tv/channel/kanasanjs--javascript-workshop-in-kansai
Chatログ
http://www.lingr.com/room/Kanasan.JS/archives/2008/01/14

LT の発表資料

「Script.aculo.us の UnitTestの使い方」

http://ema.fsr.jp/static/Kanasan.JS/js5th_2/

S5 のようで、自作の書き起こしなので、うごかないブラウザがあるかもです。

久しぶりすぎて、仕様/構造を忘れてた。リファクタリングが必要!。テスト!!みたいなノリでした。テスト大事。


宣伝し損ねたので、改めて関連 URL を書いておきます。

作ってるネトゲー: http://ema.fsr.jp/~genial/

作ってるテトリス画像のエディタ (experimental version): http://ema.fsr.jp/tage/

↑ で使ってるテスト: http://ema.fsr.jp/tage/tests/test.html


以下、メモ

プロトタイプベースとクラスベースの違いについてはしっかり調べる。

プロトタイプベースがより primitive で、クラスベースの方が硬い。たとえば、JavaScript の prototype は差し替え可能。

まず instance ありきで、社会構造を作ったのが class、あくまでも伝言ゲームで解決するのが prototype。きっと、その程度の違い。くくりだした共通部分を特別扱いするか、しないか。

JavaScript には instance と instance property と prototype chain しかない。って理解が一番良さそう?抜けてる?

メソッド探索の理解と、new したときに何がコピーされて、何がコピーされないのかを把握する。

Function と Object の関係を把握する。

Ruby で method_missing で似せてみる → もっと primitive な実装の方がよさそう。

「ECMAScript の定義」なのか、「一般的な定義」なのかは分ける

ややこしい。多言語の話とも絡みますが。

後、第9章はクラスという単語がカオスを招いている。JavaScript 自体が同様の混乱を招いているというべきか。次回やばそう。これは、対策が必要な気がする。

dot と [] のフォローアップ

「シンタックスシュガー」というのは「そう解釈したらすっきりする」という提案のつもりでした。

ECMAScript 3rd Edition では 11.2.1 Property Accessors (リンク先非公式日本語訳。感謝) で「Property Accessors」として導入されている。これは MemberExpression / CallExpression における dot notation と bracket notation であり、Operator とは書かれていない。4.2 Language Overview でも Property Accessors は列挙されていない。

というわけで、厳密には operator ではないと思われます。ただまぁ、演算子かどうかはまったくの無意味な議論ではないけど、そもそも ECMAScript 3rd Edtion における operator の定義がないし、所詮定義は定義だし、こだわっても損なだけで、あまり意味はないような気がする。

<amachang> 英語では「accessor」。これを演算子と訳すのはいかがなものか

というのは正論で、仕様書の訳としては「アクセサ」にしてもらった方が正確で良いかもしれない。アクセサの方がすっきりするように思います。


感想などは、近日中に。