職業プログラマの休日出勤

職業プログラマによる日曜自宅プログラミングや思考実験の成果たち。リアル休日出勤が発生すると更新が滞りがちになる。記事の内容は個人の意見であり、所属している(いた)組織の意見ではない。

開眼した話

もう既に5日ほど経ってしまいましたが、新年明けましておめでとうございます。

この年末年始に作ったものを紹介しようかなとも思いましたが、まだ人に言ったり見せたりできる状態ではないものばかりなので、読んだ本のうちの1つを紹介しておきます。

開眼!  JavaScript ―言語仕様から学ぶJavaScriptの本質

開眼! JavaScript ―言語仕様から学ぶJavaScriptの本質

JavaScriptという言語、皆さんどのようにして学んで来られたでしょうか?
恐らく多くの方々はWebサイトを構築する中で、必要に迫られて最低限の知識だけを身に付けていく、ということの繰り返しで学ばれたのではないかな、と思います。node.jsなどの影響で専門的にJavaScriptを取り扱う人もおられると思いますが、そんなに多くはないでしょう。

何となく文法は知ってるし、困ったときにどのようなキーワードでググれば答えを探し当てることができるかという勘は働く。だけども似たような表記が2つ並んでいたときに、それらの違いを指摘できなかったり、Google先生無しでコードを完成させるのが難しかったり。

JavaScriptという言語は、最初は取っ付き易いけども、深く勉強するのはとても難しいと思います(その原因は主に実行環境のバラバラさ加減によるものでしょうが)。
書店で見かけるJavaScriptの書籍のほとんどは、本当の初心者向けか、ECMA Scriptでの定義を丁寧に解説している(→分厚い)かのいずれかで、JavaScriptを深く学びたいけれども分厚い本を読む時間は無い、という人向けの本はそんなに見当たりません。
そんな中で去年登場したこの本は、良いところ突いてきてるなぁ、と思いました。


ところで、この本、原題は「JavaScript Enlightenment」で、enlightenmentは「悟り」とか「啓発」といった意味になります。直訳調に邦題を付けると、あまり格好良くありませんね。邦題に付けられた「開眼!」という表現は、かなり良い訳だなぁと思いました。
JavaScript 悟りの書」とかでも良かったかな。賢者になれそうです。

クイズ(おまけ)

次の二つのコードの違いを述べよ(10点)

  • var a = new Number('2014');
  • var a = Number('2014');