書籍「ステップアップJavaScript」を執筆いたしました
202201.07

ステップアップJavaScriptカバー

はじめに

代表の佐藤です。本年もよろしくお願いいたします。

これまで弊社ではトレーニングで得た知見や、トレーニングで利用できる教材を単体のコンテンツとしてもアウトプットすることを続けております。過去 Udemy にて高く評価いただいたRuby on Rails4 の初歩向け動画教材(2021 年末現在レビュー 4.7 点です)や、プログラミング相談所オンラインを発信している Youtube のチャンネルなどを所有しております。

コンテンツの花形とも言える書籍においても、弊社小笠原の執筆した知識ゼロからの JavaScript 入門がありましたが、この度私佐藤と小笠原の共著によるステップアップ JavaScript  を執筆いたしました。このエントリでは本書のご紹介をさせていただくべく、キーボードを叩く次第です。

目的・動機

JavaScript は Web システム開発をする上で様々なシーンで登場する、大変馴染み深い言語です。簡単な処理を Web ブラウザ上で書くところを入り口に、今では SPA(Single Page Application)のように、JavaScript 無しにはシステムが完成しないような仕組みを担うまでになりました。

ブラウザに組み込まれていたり、基本的な言語の文法がよく知られている C 系のそれであることなど、他の言語に比べてとっかかりやすい位置付けではありますが、少し高度なことを行おうとすると独特の癖に悩まされることが多いです。

私たちがトレーニングで JavaScript のスキルアップを促す際にもよく体験していますが、特に初級から中級にステップアップする上で立ちはだかるいくつかの壁があり、スキルアップを阻んでいると感じています。例えば以下のようなシーンがよくあるのではないでしょうか。

  • 「async/await で非同期処理をなんとなく書けるが、実際のシステムにうまく組み込めない、Promise と組み合わせられない」
  • 「AJAX を利用して処理をするとたまにエラーが出る」
  • 「this キーワードで参照されるオブジェクトの挙動が推察できない」
  • 「関数の引数に与えたオブジェクトが変更される場合とそうでない場合の挙動の違いがわからずにトライ・アンド・エラーしてしまう」

本書ではこのようなよくあるシーンに直面している方へ向けたものです。世の中に JavaScript の入門本は溢れていますが、2021 年現在、このような切り口の書籍はあまり多くないと思われます。そこで私たちが自分たちで企画したものを世に送り出した次第です。

書籍自体のはじめに  でも本エントリとは別の切り口で皆様に執筆の背景をお伝えしています。ぜひご覧ください。

本書の特徴

以下に示すようなポイントが本書の特徴と言えるでしょう。

つまづきやすいため特に紙面を割いているトピック

前述のよくあるシーンに即した下記のような内容について、特に多くの文章を費やしています。

  • 非同期処理 - そもそも必要である背景や、async/await、Promise の利用
  • AJAX - Fetch API を活用した AJAX の処理の書き方
  • this - 通常の関数及びアロー関数における決定のされ方
  • 参照 - プリミティブ型やオブジェクト型について理解する文脈で一緒に紹介

samples 001

普段の弊社のトレーニングを模倣する形で、いくつかのウィジェットを作りながら学ぶ形式になっています。

  • ストップウォッチ - DOM やイベントドリブンのおさらいなど導入
  • フォトビューアー - ES6 を学んだ後の実践
  • 都道府県選択ドロップボックス - AJAX の実装体験
  • クイズゲーム - それまでの学習をまとめて確かめる SPA 実装

書籍に沿って作り終わった後に自身で改造することを勧め、その中で実践的な学びを促す作りにしています。その他 Node.js や npm、それを利用したトランスパイルのような現在の JavaScript を支える技術についても最低限の解説をしました。

尚、読了後に実際に仕事をすることをイメージしているので、実際の開発現場で出会うような過去バージョンとの差異についてもワンポイントのメモなどで補足しています。例えば以下のようなことです。

  • アロー関数が必要になった背景
  • クロージャがよく利用されていたシーンやその背景

本書へのサポート

弊社では普段からトレーニングを受けている方に手厚いサポートを行ってスキルアップを促しておりますが、本書においても(Web 上でできる範囲ではございますが)、自社 Web サイト上にてサポートを行う予定です。書籍上で利用するほとんど全てのコードをデモとして Web サイトで公開 し、生のコードはGitHub にて公開しております。意欲のある学習者が書籍の動かないコードに苦しむことなく「動作を確認できる環境」は必須であると考えました。

他にも Web サイト上でできることは盛り込む想定でおります。2021 年末現在、まだ公開されていませんがオンラインで疑問点をある程度解決できるような仕組みをご用意する予定でおります。ご期待ください。

こういった取り組みは「学習はコンテンツの読了で完了するわけではなく、それを実践し、さらに疑問になったことを調べたり確認した結果、血肉となる成長を生む」という弊社の価値観に従ったものであります。

おしまいに

以上のように、内容としても渾身の一作として仕上げたものですし、書籍内に留まらず周辺のサポートも充実させる弊社の新しい試みを応援いただければ幸いです。

書籍の Web サイトは公開済みですし、Amazon での予約も始まっております。2022 年 1 月 14 日発売ですのでチェックいただければ幸いです。

雪も降るような寒い最中ではございますが、ご自愛くださいませ。弊社は本年も過去の取り組みを活かしつつやるべきことを積み重ねてゆく所存です。どうぞよろしくお願いいたします。