第一部ではJavaScriptの基本的な文法やビルトインオブジェクトの使い方を紹介します。目次JavaScriptとはJavaScriptとはどのような用途に使われているプログラミング言語なのか、どのような言語的な特性を持っているのかについて簡単に紹介します。コメントJavaScriptにおけるコメントの書き方を紹介します。コメントはプログラムとして評価されないので、ソースコードに対する説明を書くために利用します。変数と宣言JavaScriptで変数を宣言する方法について紹介します。これらの動作の違いや使い分けについて紹介します。値の評価と表示ブラウザでJavaScriptコードを実行する方法について紹介します。プログラムを実行すると遭遇するエラーをどのように解決していくかを紹介します。エラーを大きく2種類に分けて、構文エラーと実行時エラーについてそれぞれの問題点と解決の糸口を紹介します。データ型とリテラルJavaScriptの値の種類にあたるデータ型について紹介します。データ型には大きく分けてプリミティブ型とオブジェクトがあり、それぞれのデータ型を簡単なコード例とともに紹介していきます。一部のデータ型にはリテラルというデータ型を簡単に記述するための構文が用意されており、リテラルについても合わせて紹介していきます。演算子JavaScriptにおける演算子について紹介します。演算子は記号で表現されるため、検索しにくいです。この章では主要な演算子をまとめて紹介しています。知らない演算子が出てきたときに読み直せばよいため、すべてを1つずつ読む必要はありません。暗黙的な型変換JavaScriptの暗黙的な型変換は意図しない挙動を発生する原因の1つです。暗黙的な型変換が発生する具体的なコード例や予測が難しいことについて紹介します。逆に明示的に変換する方法についても紹介します。関数と宣言JavaScriptの関数を定義する方法について紹介します。Functionについて紹介します。関数の引数の扱い方や関数とメソッドの違いについても紹介します。文と式JavaScriptのソースコードを構成する文と式という構文的な概念について紹介します。文と式の違いを理解することで、どの場合にセミコロンを入れるかがわかるようになります。抽象的な話が多くなるため、完全に理解しなくても問題はありません。条件分岐JavaScriptで条件分岐を扱うためのif文やswitch文を紹介します。ネストした条件分岐が読みやすさを妨げる問題をどのように解決するかについて紹介します。ループと反復処理for文やwhile文を使った反復処理について紹介します。同等の反復処理がArrayのメソッドでも実現できることについても紹介します。オブジェクトJavaScriptのObjectはオブジェクトの基礎となるものです。オブジェクトとプロパティの作成、更新、削除などの基本的な操作について紹介します。プロトタイプオブジェクトJavaScriptにはプロトタイプオブジェクトという特殊なオブジェクトがあります。プロトタイプオブジェクトによって、メソッドなどの特性をあるオブジェクトから別のオブジェクトへと継承しています。このプロトタイプオブジェクトによる継承の動きを紹介します。配列は値を順番に格納できるオブジェクトです。この配列の作成、更新、削除などの基本的な操作や実際の使い方について紹介します。配列における破壊的なメソッドと非破壊的メソッドの違いについても紹介します。文字列リテラルを使った文字列の作成から検索や置換など基本的な文字列操作について紹介します。正規表現と組み合わせた文字列操作やタグ付きテンプレート関数を使ったテンプレート処理などについても紹介します。文字列とUnicodeJavaScriptが採用している文字コードであるUnicodeと関連するStringのメソッドについて紹介します。Stringのメソッドや文字列を扱う上で、UTF-16でエンコードされていることを意識する場面について紹介します。ラッパーオブジェクトJavaScriptのプリミティブ型の値がビルトインオブジェクトのメソッドなどを呼び出せる仕組みとしてのラッパーオブジェクトを紹介します。プリミティブ型からオブジェクトへとどのように実行時に変換されているのかを確認できます。関数とスコープスコープという変数などを参照できる範囲を決める概念を紹介します。ブロックスコープや関数スコープなどがどのような働きをしているのかや複数のスコープが重なったときにどのように変数の参照先が決まるのかを紹介します。スコープに関係する動作としてクロージャーという性質を紹介します。関数とthisJavaScriptにおけるthisというキーワードの動作を紹介します。thisの参照先は条件によって解決方法が異なるため、thisの動きについてをそれぞれの条件ごとに紹介します。複雑なthisの動きを予測可能にするにはどうするべきかをコード例とともに紹介します。クラスJavaScriptにおけるクラスの定義方法や継承方法を紹介します。プロトタイプベースの言語であるJavaScriptがどのように継承などを実現しているのかを紹介します。例外処理JavaScriptにおける例外処理について紹介します。try...catch構文の使い方やErrorオブジェクトを紹介します。エラーが発生した際のエラー文の読み方といったデバッグ方法を紹介します。FunctionJavaScriptにおける非同期処理について紹介します。同期処理と非同期処理の違いやなぜ非同期処理が重要になるかを紹介します。Functionを紹介します。Map/Setデータの集合を扱うビルトインオブジェクトであるMapとSetについて紹介します。オブジェクトの作成方法や更新方法から実際にどのようなケースで使うのかを紹介します。JSONJavaScriptのオブジェクトリテラルをベースに作られたデータフォーマットであるJSONを紹介します。JavaScriptからJSONの読み書きをするビルトインオブジェクトの使い方を紹介します。Date日付や時刻を扱うビルトインオブジェクトのDateを紹介します。Math数学的な定数や関数を提供するビルトインオブジェクトのMathを紹介します。ECMAScriptモジュールJavaScriptのモジュール(ECMAScriptモジュール)について紹介します。ECMAScriptJavaScriptの仕様であるECMAScriptについて紹介します。ECMAScriptの歴史や仕様策定がどのようなプロセスで行われているかを紹介します。終わりに第一部の終わりに書籍では紹介しなかったその他の文法やビルトインオブジェクトを簡単に紹介します。知らなかった文法やビルトインオブジェクトの使い方を調べる方法を紹介します。