パッケージからオープンライセンスへの移行ができないという可能性もあるだろうとか。それにしてはお知らせ郵政メールにはお得なオープンライセンスをどうぞみたいなちらしも入っているし。#怖いのは、発注はかかって金は取られて、かつ登録できないとかやっているうちに有効期限が切れて更新ではなく新規になることだ。RHGJavaScriptパワーについて勉強。表示される値を答えよ。80;}alert(foo(1));(追加)表示される値を答えよ。+80;}alert(foo2(1));(さらに追加)問1と問2の結果から、JavaScriptが;を自動補完する仕様について説明せよ。表示される値を答えよ。1);表示される値を答えよ。10);表示される値を答えよ。alert(x);}表示される値を答えよ。2);表示される値をFirefox、IE6(IE7)それぞれについて答えよ。alert(x.foo);解答は無し(試せばわかるかも)。表示される値を答えよ。alert(a[20]);表示される値を答えよ。8);表示される値を答えよ。1);表示される値を答えよ。3;alert(a);表示される値を答えよ。};alert(func);Javaを知ってる人もRubyを知ってる人もCを知ってる人も等しく驚愕するポイントが必ず1つか2つはある言語、それがJavaScript。いうわけでちゃんと知りましょうということ。JavaScriptパワーについて、ちょっと説明(12/31)holidays-lさんの疑問「※これは関数ポインタを表示してるだけだから普通な気がするけど。何が不思議なのか誰か教えて」はもっともだと思うのでちょっと説明。いうことでした(ような。僕はそうとったけど)。抽象的な関数オブジェクトの表現とかではないところがミソです。Rubyのto_procとかProc#to_sとかにからんで。ちなみに、IEの出力は入力そのままだけど(多分。インデント変えたりはありかも知れない)、Firefoxだとちゃんとプリティプリントされる点とか、処理系ごとの出力内容の違いがおもしろいです。あとgetterはnetscape系(現在はmozilla)固有なのでFirefox用ブックマークレットを書くのでも無い限り汎用的には知っていても役に立たないと思います。IEだとスクリプトエラーになってしまうので解答(実行例)を埋め込んでいないわけです。その他についても一応。4番は演算子の優先順位と、それだけではなく偽が0となるという振る舞い。疑問を持つのが正しい。5番は最初の2つは普通にブーリアンなのに次の2つが値となる点。Rubyだと(holidays-lさんによるとPerlもそうみたいですね。ように利用できるので重要ですが、Javaのような挙動を想定しているとちょっとびっくりするかも)6番は、switch文の実行時にcaseの値が評価される点とかフォールスルーとか人によっていろいろ思うところはあるでしょう。7番は、Rubyに深入りしていると間違える例で、最初の文字列結合を見てほおーと唸ってから次の*の結果を見ると、最後の結果が"3030"になるんじゃないかと深読みするかも、という問題。9番は、ArrayといってもObjectと同じ連想配列じゃんというあたりかな。10番は、===の振る舞いについての質問。Javaの振る舞いから見ると==がequalsで===が==な点とか。これも知っている言語によって印象が異なると思います。11番は、Javaと正反対なのがおもしろい点。どちらもプリミティブを少なくするアプローチなので3重不等号が必要な点とか(Cから見るとなんじゃこりゃな演算子)、でも型システムが違うので自然な演算子の2重不等号の割り当てが異なるとか。12番は整数型が無い(ただし>>などの演算子を処理する時点で32ビット整数に自動変換するのはあり)というのが驚きどころ。仕様を読まなきゃこれは驚くよなぁ、それにしても。[出典を忘れてました。