2010年 6月 の投稿一覧

JavaScript: The Good Parts ―「良いパーツ」によるベストプラクティス

JavaScript: The Good Parts ―「良いパーツ」によるベストプラクティス
Douglas Crockford
オライリージャパン
売り上げランキング: 133,710

さきほど、読了しました。

前回、JavaScript 第5版を紹介したのですが、それよりも、もっと実用的で、実践的な内容になっているのですが、確実に、初心者向きではありません。

無名関数かJavscriptでのオブジェクト指向の実現方法を少しでもかじったことがないと厳しいかもしれません。

本書は、さすが、JSONの提唱者だけあって、鉄道ダイアグラムによるJavaScriptの表現が多発しています。
(特にいい悪いとかではありませんが、他の本と比較して特徴的だったので。)

ブログ等などでもちょくちょく話題になるカレー化やapplyメソッドを使ったオブジェクトの継承などより一歩突っ込んだ内容を勉強することができます。さらに素晴らしいのは、良いパーツだけではなく、付録として、「悪いパーツ」、「ひどいパーツ」なども取り上げているところがグッド。

しかし、弾さんもおっしゃっていますが、

確かに本書では、上の2つを悪いパーツとして紹介しているんですね。

特に、「new」に関しては、Javaエンジニアや、PHPエンジニアにとって、newでインスタンス変数を宣言をした方が直感的にわかる上に、一般的なオブジェクト指向の慣例からすれば、決して悪くはないじゃないのかなーと。

皆さんは、どうでしょうか?

さらに、本書のカリー化の部分で、下記のような記述が登場します。

//著作権の都合上、本書を一部変更して書いています。
Array.prototype.slice.apply(arguments)

なぜ、第二引き数がないのに、わざわざ、sliceメソッドを実行しているのかに悩んだ方は、
javascript – Array.prototype.slice.apply(arguments) // 引数一発配列化
を参考にしてください。
きっと理由がわかると思いますよ。

読んでいた当初、ものすごく悩みに悩んで3日くらい先に進むことができなかったのですが、弾さんの記事を読んで、すっきりしました。

やはり、本を読んでわからなくなったところは、調べるにつきますね。
と同時に、オライリー本としては、ちょっと異論が残る内容でした。

これ辞書だよ、辞書、JavaScript 第5版

一度、JavaScriptを体系的に勉強したいと思いいい機会だったので、こちらの本を読みました。

JavaScript 第5版
JavaScript 第5版

posted with amazlet at 19.01.28
David Flanagan
オライリー・ジャパン
売り上げランキング: 443,337


オライリーのサイトを見るとはじめにや索引を含めて704ページを超える大作なのだが、中身も濃厚でした。
体系的にJavaScriptを学びたいならば、本書一冊あれば十分なんじゃーないのかなーっと思いました。

というわけで、

に関しては禿同で、タイトル通りまさにDefinitive Guideと同時に、本書は、初めてJavaScriptを触る人には正直きつい内容と思いました。

さらに本書を読んで思ったのは、IEが特殊仕様のために他のブラウザとは違う対応を取らざるを得ず、そのため、余分にページを割かなくてはいけないことが多々ありました。
仕様が統一されてれば、もっと、ページ数少なくてすんだんじゃーないのかなーっと思ってしまった。
(別にこの件に関しては著者の責任では決してありません。)

また、2007年に出版されたので、当然、まだGoogle chromeも存在していないので、IEと(firefox|NetScape)に焦点が置かれていて、webkitの話がなかったのでちょっと物足りなさを感じてしまった。
と同時に、今後は、html version 5も普及してくると思うので、新タグをJavaScriptからどうイジるのかの解説も今後の版改定時に追加してほしいなーっと。

今度の第6版は、すでに洋書でamazonでは予約が始まっています。

JavaScript: The Definitive Guide: Activate Your Web Pages (Definitive Guides)
David Flanagan
O’Reilly Media
売り上げランキング: 19,052

最後に読んでいて素朴に思った疑問
BtoC向けのサイトでJava Appletってまだ使われているのか???

は、別冊のJavaScriptクイックリファレンス第5版に収録されています。

JavaScriptクイックリファレンス
David Flanagan
オライリージャパン
売り上げランキング: 915,609