はじめに

本書の目的

この書籍の目的は、JavaScriptというプログラミング言語を学ぶことです。 先頭から順番に読んでいけば、JavaScriptの文法や機能を一から学べるように書かれています。

JavaScriptの文法といった書き方を学ぶことも重要ですが、実際にどのように使われているかを知ることも目的にしています。 なぜなら、JavaScriptのコードを読んだり書いたりするには、文法だけを知っても足りないと考えているためです。 そのため、第一部:基本文法では文法だけではなく現実の利用方法について言及したり、第二部:ユースケースでは小さなアプリケーションを例に現実と近い使い方を解説しています。

また、JavaScriptは常に変化を取り入れている言語でもあり、言語自身や言語を取り巻く開発環境も変化しています。 この書籍では、これらのJavaScriptを取り巻く変化に対応できる基礎をつけていくことを目的としています。 そのため、単に書き方を学ぶのではなく、なぜ動かないのかや問題の調べ方にも焦点を当てていきます。

本書の目的ではないこと

ひとつの書籍でJavaScriptのすべてを学ぶことはできません。 なぜなら、JavaScriptを使ってできる範囲があまりにも広いためです。 そのため、この書籍では取り扱わない内容(目的外)を明確にしておきます。

  • 他のプログラミング言語と比較するのが目的ではない
  • ウェブブラウザについて学ぶのが目的ではない
  • Node.jsについて学ぶのが目的ではない
  • JavaScriptのすべての文法や機能を網羅するのが目的ではない
  • JavaScriptのリファレンスとなることが目的ではない
  • JavaScriptのライブラリやフレームワークの使い方を学ぶのが目的ではない
  • これを読んだから何か作れるというゴールがある訳ではない

この書籍は、リファレンスのようにすべての文法や機能を網羅していくことは目的ではありません。 JavaScriptやブラウザのAPIに関しては、MDN Web Docs(MDN)という素晴らしいリファレンスがすでにあります。

この書籍は、ライブラリの使い方や特定のアプリケーションの作り方を学ぶことは目的ではありません。 それらについては、ライブラリのドキュメントや実在するアプリケーションから学ぶことを推奨しています。 もちろん、ライブラリやアプリケーションについての別の書籍をあわせて読むのもよいでしょう。

この書籍は、それらのライブラリやアプリケーションが動くために利用している仕組みを理解する手助けをします。 作り込まれたライブラリやアプリケーションは、一見するとまるで魔法のようにも見えます。 実際には、何らかの仕組みがありその上で作られたものがライブラリやアプリケーションとして動いています。

この書籍では、具体的な仕組み自体までは解説しませんが、そこに仕組みがあることに気づき理解する手助けをします。

本書を誰がよむべきか

この書籍は、プログラミング経験のある人がJavaScriptという言語を新たに学ぶことを念頭に書かれています。 そのため、この書籍で初めてプログラミング言語を学ぶという人には、少しむずかしい部分があります。 しかし、この書籍には実際に動かして学べるような仕組みがあるため、まずは試してみて自身のレベルを確認してからでも遅くはないでしょう。

この書籍は、JavaScriptを書いたことはあるが最近のJavaScriptがよくわからないという人も対象です。 2015年に、JavaScriptはECMAScript 2015と呼ばれる仕様の大きな変更が入りました。 この書籍は、新しくなったECMAScript 2015を前提としたJavaScriptの入門書であり、必要な部分では今までの書き方との違いについても触れています。 そのため、新しい書き方や何が今までと違うのかわからない場合にも、この書籍は役に立ちます。

この書籍は、JavaScriptの入門書ですが、JavaScriptの仕様に対して真剣に向き合って書かれています。 入門書であるからといって、極端に省略して不正確な内容を紹介することは避けています。 そのため、JavaScriptの熟練者であっても、この書籍を読むことで発見はあるはずです。

本書の特徴

この書籍の特徴について簡単に紹介します。

2015年に、JavaScriptはECMAScript 2015と呼ばれる仕様の大きな更新が行われました。 その際に、新しい書き方や機能が大きく増えたため、今までのJavaScriptという言語とは異なるものにも見えるほどです。

この書籍は、新しくなったECMAScript 2015以降を前提にして一から書かれた書籍です。 今からJavaScriptを学ぶなら新しくなったECMAScript 2015を前提としたほうがよりスッキリと学べるためです。

また現在のウェブブラウザは、この新しくなったECMAScript 2015をサポートしているため、古い書き方をすべて知る必要はありません。 そのため、この書籍は一から学ぶ上で知る必要がない古い書き方は紹介していないことがあります。 しかし、現実のコードでは古い書き方への理解も必要になるため、頻出するケースについては紹介しています。

この書籍は、オープンソースとして文章やソースコードがGitHubのasciidwango/js-primerで公開されています。 また書籍の内容がjsprimer.netというURLで公開されているため、ウェブブラウザで読めます。 ウェブ版では、その場でサンプルコードを実行してJavaScriptを学べます。

書籍の内容がウェブで公開されているため、書籍の内容を共有したいときにURLを貼れます。 また、書籍の内容やサンプルコードは次のライセンスの範囲内で自由に利用できます。

ライセンス

この書籍に記述されているすべてのソースコードは、MIT ライセンスに基づいたオープンソースソフトウェアとして提供されます。 また、この書籍の文章はCreative CommonsのAttribution-NonCommercial 4.0(CC BY-NC 4.0)ライセンスに基づいて提供されます。 どちらも、著作権表示がされていればある程度自由に利用できるライセンスとなっています。

ライセンスについての詳細はライセンスファイルを参照してください。