最近読み直した本とか、買った本

映画見に行きたいけど、まだ行けてないので以前買ったものを読み直し。

あちこちで取り上げられていたので。

プラネット・グーグル

あと、最近茂木健一郎の本を端からいろいろ読んでいる。

あいかわらず読む本がバラバラ。統一感ないなぁ。

eval

JavaScriptを書いていて当たり前な事がぶっ飛んでいたので改めて整理。
evalでサーバーから受け取った文字列等々を評価させる場合、評価対象の文字列はJavaScriptの式で無ければならない。
なので、次の様に書くとエラーになる。

rcvstr = "{'foo':100, 'bar':200}";
ev = eval(rcvstr);

上を実行すると、"SyntaxError: invalid label"となる。
一方、

rcvstr = "({'foo':100, 'bar':200})";
ev = eval(rcvstr);

上との違いは()でくくった文字列にしたこと。
この様にして実行すると、

Object foo=100 bar=200

と正常に評価される。()でくくった事によって、「式」になったから。という風に解釈したのだが、これで良いのだろうか。。。
そもそも、firebugとかのコンソールで試してみたところ、

>>> {"a":100}
SyntaxError: invalid label

となって、

>>> ({"a":100})
Object a=100

と、正常に評価されるので。

うむ、体育の日に屋内でプログラムを朝から書いているのはいいことなのだろうか。