見様見真似だったJavaScript

A re-introduction to JavaScript (JS tutorial) - JavaScript | MDN を読む。既に他のスクリプト言語を知っている人にピッタリな文書だと思う。日本語訳は途中っぽいがJavaScript の「再」紹介 にある。

英文で、わからなかった所が2つ。

The named parameters turn out to be more like guidelines than anything else.

"guidelines"の意味がわからない。たぶん「returnを省略するとundefinedが返ったりすることと同じように、引数を省略するとundefinedが渡される」ということを言いたいのだろうか。

The name of the makeAdder function should give it away: it creates new 'adder' functions, which when called with one argument add it to the argument that they were created with.

"give it away"は辞書を引いても、それらしい訳語が出てこない。たぶんmakeAdder関数の名前は「忘れろ」とか「重要でない」とか言っているような気がする。後半は"add it"あたりで英文法パーサーの動作が怪しくなり始めるが、たぶんこうだろう。

makeAddrは新しい足し算関数達を作る。そして、その関数達が引数1個とともに呼ばれると、その関数達は引数(6とか7)に、彼らが作られたときの引数(5とか20)を足す。

しばらくしたら日本語訳が最後まで進むと思うので、その時確認しよう。

JavaScriptの文法だが、やたらと自動でundefinedが補間されるのは、トラブルの元になるんじゃないかと思ったが、そういう設計なんだろう。特にウェブで用いられるという性質を考えた場合、undefinedでも入れて動かした方がいい。何でもかんでも例外を発生させてユーザに尋ねるわけにもいかないし、かといって停止させるわけにもいかない。

コードを試すのにはRhinoという処理系を使ってみた。初めはFirefoxのエラーコンソールでやっていたが流石に面倒くさくなってきたので。Rhinoは中々よくできている。