Introduction

Eloquent JavaScript 序章の読書ノート。この章は読み飛ばしても問題ない。

On programming

JavaScript というより、プログラミング全般に関する記述。

  • プログラムを身近なものの類比として捉えようとすると、うまくいかないことが多い。

  • プログラムは動くと美しい。

  • プログラミングの技術とは、複雑さを制御する技術だ。

  • 優れたプログラムは複雑さを抑えて単純にしたものだ。

Why language matters

  • 命令やメモリーの位置に数字ではなく名前を使うのが効果的だ。

  • プログラミング言語の力の一つは、面白みのない細部を私たち人間に代わって面倒を見てくれることだ。

  • 同じプログラムでも長いものと短いもの、読めないものと読めるもののどちらでも表現できる。

What is JavaScript?

JavaScript の歴史を簡単に述べている。

  • JavaScript は 1995 年に Netscape Navigator で Web ページにプログラムを追加する手段として導入された。その後、他のすべての主要なグラフィックウェブブラウザーで採用された。

  • JavaScript は Java とはほとんど関係がない。

  • ECMAScript と JavaScript は、同じ言語の二つの名前として使い分けられている。

  • ECMAScript 3 は JavaScript が一世を風靡した 2000 年から 2010 年の間に広くサポートされていた。

  • 本書では 2017 年バージョンの JavaScript を利用する。

  • MongoDB や CouchDB などのいくつかのデータベースでは、スクリプト言語やクエリー言語として JavaScript を使う。

  • Node.js を筆頭に、デスクトップやサーバープログラミングのためのプラットフォームのいくつかが、JavaScript をブラウザーの外でプログラミングするための環境を提供している。

Code, and what to do with it

コード作成に関する心構えを説いている。

  • コードとは、プログラムを構成するテキストのことだ。

  • コードを読むことと書くことは、プログラムを学ぶ上で欠かせない。

  • 本書の演習問題は、実際に解答を書くまで理解したと思わないこと。

Overview of this book

  • 本書は大きく分けて三つのパートから構成されている。

    • 最初の 12 章では JavaScript 言語について

      • JavaScript の基本構造を説明する四つの章から始める。制御構造、関数、データ構造について学ぶ。これらを経て、基本的なプログラムが書けるようになる。

      • 第 5 章と第 6 章では、関数やオブジェクトを使って、より抽象的なコードやオブジェクトを使って、複雑さを制御する技法を習得する。

      • エラー処理とバグ修正、正規表現、モジュール化、非同期プログラミングの章などが続く。

    • 中間の 7 章ではブラウザーの JavaScript が利用できるツールについて説明する。

      • 画面に何かを表示したり(14章、17章)、

      • ユーザーの入力に応答したり(15章)、

      • ネットワーク上で通信したり(18章)する方法を学ぶ。

    • 最後の二つの章では JavaScript をプログラムするための環境である Node.js について

      • 第 20 章では Node.js について説明し、

      • 第 21 章ではそのツールを使って小さなウェブサイトを構築する。

  • また、本書は五つのプロジェクトの章を含む。そこでは、読者が実際のプログラミングを体験するために、より大規模なサンプルプログラムを扱う。

Typographic conventions

本書におけるコードの記述に関する規約はひじょうに少ない。

  • 等幅フォントで書かれたテキストがプログラムコードの断片を表すものとする。

  • 処理が何らかの出力をするときには、その結果をスラッシュ二つと右矢印に続けてそれを記すものとする。

以上