kuwana-kbの開発/学習ブログ

プログラミング、クラウドインフラのWeb開発/学習ブログ

「スラスラわかるJavaScript」 書評

みなさんこんばんは、kuwana-kbです。

近々、業務の都合でフロントエンドを触る機会がでてきそうです。 私個人としてもJSフレームワークを使ってWebサイトを作ってみたいと思っていたので、いいタイミングだと感じています。 とはいえ、フロントエンドに関する知識はほとんど無い状態なので、初心に帰ってJavaScriptを勉強しようと思った次第です。

今回の書籍は、「スラスラわかるJavaScript」です。

スラスラわかるJavaScript

スラスラわかるJavaScript

ざっくりと2行でいうと

  • プログラミング初心者にもおすすめできるくらい易しい
  • 情報が古い点には注意が必要

この本の2つのポイント

プログラミング初心者にもおすすめできるくらい易しい

この本はJavaSciptの入門書です。 入門書の中でも、かなり易しい部類に入るかと思います。 始めの方の章ではHTMLとCSSの解説もされているので、プログラミングの最初の一冊目でも問題ないくらいのレベル感です。

逆にいうと既にプログラミング言語を1つ以上扱える方にとっては簡単すぎるかもしれません。 そういう方は、本書の前半は基本文法がほとんどなのでさらっと流して、後半以降を読まれるのがよいかと思います。 8章の「イベント駆動型モデル」あたりからJavaScript特有の要素が強まる印象なので、そこら辺からがよいでしょう。

私としては、1年前に学習を始めた時によくわからずにそのままにしていたDOMやjQueryについて理解できたのが良かったです。 (まあこれは1年の間に他の言語に触れたおかげもあるとは思いますが…)

2. 情報が古い点には注意が必要

本書は2013年に出版された本なので、情報が古いように見受けられる部分がいくつかあります。 具体例を2つ挙げてみます。

解説がES6に準拠していない

まだECMAScriptについて学習をしていないので、詳しいことは分からないのですが、現在主流の書き方であるES6に準拠した書き方ではない部分があるように思います・ 具体的には、変数宣言としてlet, const の紹介がなく、varでのみ記述されているのが気になりました。 (varで書いてたらエディターに怒られて気づきました。) せっかく学んだ文法がもう使われていないものだと、学習コストが余計にかかります。 是非、第二版でES6も追記して頂けると嬉しいです。

cf. JavaScript var/let/constによる変数宣言 - Qiita

使われているライブラリのバージョンがかなり前のものである

本書で登場するjQueryやそのプラグインのバージョンはかなり前のものになっています。例えば、書籍ではjQueryのバージョンが1.9.1でしたが、私は3.4.1を使用しました。 書籍なので更新がされない点は仕方ないかもしれません。ただ、書籍の中で言及されているLightboxプラグインとの互換性問題は、現在では解消されているようでした。つまり、書籍に書いてあるのはあくまで当時の状況であって、今使ってみると若干使い勝手が違う部分があったので、こちらも注意が必要です。

データ取得の仕組みが古い

こちらは、WebAPIとの連携でJSONPしか紹介されていない点が気になりました。 JSONPJSONPインジェクションという脆弱性があるため、クレデンシャル情報は渡さない&信頼する相手とのみ使うようにと一般的に言われているようです。 今ではCORS設定を用いたクロスドメイン通信があるので、そちらも紹介した方がよいのでは、と思いました。 cf.JSONPは危険なので禁止 – yohgaki's blog

まとめ

以上が「スラスラわかるJavaScript」の書評でした。 内容としてとても易しいので初心者の方にもおすすめしたいところですが、情報の古さが少し残念でした。 是非、第二版で最近の状況を踏まえたものにアップデートしていただけると嬉しいです。