# その他の高度なAPI

目的: 基本文法ではユースケースで必要な文法についてを学んだ。
JavaScript(ECMAScript)には紹介していないより高度なAPIがあります。
これらはライブラリ向けであったり、メタプログラミング向けであった、特定の領域に特化したAPIなどです。
そのため、必要になったら学ぶべきものですが、最初から知らなくても大きな問題はでないはずという理由で基本文法で紹介をしていませんでした。

## アウトライン

- 第1部 基本文法はこれでひとまず終わりです
- 基本文法ではECMAScriptの仕様で定められた機能を中心にJavaScriptの基本的な文法などの使い方について紹介してきました
- 第2部 ユースケースではこの基本文法を応用した小さなアプリケーションをベースによりJavaScriptについて理解を深めていきます。
- 一方で第1部 基本文法でJavaScriptのすべての機能を紹介したわけではありません。
- 基本文法では紹介しなかったAPIにはProxyや`Object.definedProperty`、Relect APIなど多種多様なAPIが存在します。
- これらのAPIはアプリケーションよりもライブラリを作る際に利用することが多く、実際に今回のユースケースでは登場していません。
- しかしながら、全く必要ないAPIというわけではありません。これらのAPIは必要になった際に調べて使い方を覚えていくのが良いと思います。
- JavaScriptのほとんどのAPIはMDNにリファレンスが存在します。
- また、MDNにはECMAScriptの機能だけではなく、ブラウザ固有の実装である DOM APIについてもリファレンスが充実しています。
- 第2部ではNode.jsやブラウザ固有のAPIについても触れていきますが、これらのAPIはECMAScriptよりも遥かに幅広いです。
- そのため、APIの調べ方が大切だと考えています。
- APIの調べ方とは〜
    - MDNにはほとんどが詰まっている
    - MDNは英語がもっと充実
- Node.jsやブラウザのAPI
    - 公式のリファレンスをまず読む、その次に動かしてみる
- JavaScriptはものごとの動きがとても早いです。
- これはウェブそのものの流れが流動的であるためです。
- その中で正確な情報を得るためには、情報の元にアクセスしないと古い情報であったり間違った情報になってしまうこともあります。
- たとえば、Node.jsのAPIについてはNode.js 公式のリファレンスサイトをまず読むべきです。
- 利用しているライブラリやツールの使い方について調べる場合には、そのライブラリのリポジトリを見てみることがだいじです。
- ライブラリによってはいつのまにかDeprecated(非推奨)となっている場合もあるため、まずはみることが重要です。
- しかしながら調べ方に正解はありません、重要なのは調べたいと思ったときに調べ方を知っておくことです。

この辺はECMAScriptの章ににている