このハンドブックについて
プログラミングコミュニティに導入されてから20年以上が経過し、JavaScriptは今やこれまで作成された中で最も普及しているクロスプラットフォーム言語の1つです。Webページに些細なインタラクティビティを追加するための小さなスクリプト言語として始まったJavaScriptは、あらゆる規模のフロントエンドおよびバックエンドアプリケーションの両方にとって、選択される言語へと成長しました。JavaScriptで書かれたプログラムの規模、範囲、複雑さが指数関数的に増大している一方で、異なるコードユニット間の関係を表現するJavaScript言語の能力は向上していません。JavaScriptのかなり独特なランタイムセマンティクスと相まって、言語とプログラムの複雑さの間のこのミスマッチにより、JavaScriptの開発は大規模に管理するのが難しいタスクになっています。
プログラマーが書くエラーの最も一般的な種類は、型エラーとして記述できます。ある種類の値が、異なる種類の値が期待される場所で使用されたということです。これは、単純なタイプミス、ライブラリのAPIサーフェスを理解できない、ランタイム動作に関する誤った仮定、またはその他のエラーが原因である可能性があります。TypeScriptの目標は、JavaScriptプログラムの静的型チェッカーになることです。つまり、コードが実行される前(静的)に実行され、プログラムの型が正しい(型チェック)ことを保証するツールです。
TypeScriptが最初の言語であることを前提として、JavaScriptのバックグラウンドなしでTypeScriptを使用する場合は、まずMicrosoft Learn JavaScriptチュートリアルのドキュメントを読むか、Mozilla Web DocsのJavaScriptを読むことをお勧めします。他の言語の経験がある場合は、このハンドブックを読むことですぐにJavaScriptの構文を理解できるはずです。
このハンドブックの構成
このハンドブックは2つのセクションに分かれています。
-
ハンドブック
TypeScriptハンドブックは、日常のプログラマーにTypeScriptを説明する包括的なドキュメントであることを意図しています。左側のナビゲーションで上から下に向かってハンドブックを読むことができます。
各章またはページでは、特定の概念についてしっかりと理解できるはずです。TypeScriptハンドブックは完全な言語仕様ではありませんが、言語のすべての機能と動作に関する包括的なガイドとなることを目的としています。
チュートリアルを完了した読者は、次のことができるはずです。
- 一般的に使用されるTypeScriptの構文とパターンを読んで理解する
- 重要なコンパイラオプションの効果を説明する
- ほとんどの場合、型システムの動作を正しく予測する
明確さと簡潔さのために、ハンドブックの主な内容では、対象となる機能のすべてのエッジケースや細部を詳しく説明しません。特定の概念に関する詳細は、リファレンス記事で確認できます。
-
リファレンスファイル
ナビゲーションのハンドブックの下にあるリファレンスセクションは、TypeScriptの特定のパーツがどのように機能するかについて、より深い理解を提供するために構築されています。上から下へ読むことができますが、各セクションは単一の概念についてより深い説明を提供することを目的としています。つまり、継続性を目的としたものではありません。
非目標
このハンドブックは、数時間で快適に読める簡潔なドキュメントであることも意図しています。短くするために、特定のトピックは取り上げません。
具体的には、このハンドブックでは、関数、クラス、クロージャなどのコアJavaScriptの基礎を完全には紹介しません。適切な場合には、これらの概念を学ぶために利用できる背景資料へのリンクを含めます。
このハンドブックは、言語仕様の代替となることも意図されていません。場合によっては、エッジケースや動作の正式な記述は省略し、高レベルで理解しやすい説明を優先します。代わりに、TypeScriptの動作の多くの側面をより正確かつ正式に記述した別のリファレンスページがあります。リファレンスページは、TypeScriptに不慣れな読者を対象としていないため、高度な用語を使用したり、まだ読んだことのないトピックを参照したりする場合があります。
最後に、このハンドブックでは、必要な場合を除き、TypeScriptが他のツールとどのように相互作用するかについては説明しません。webpack、rollup、parcel、react、babel、closure、lerna、rush、bazel、preact、vue、angular、svelte、jquery、yarn、npmなどでTypeScriptを構成する方法のようなトピックは範囲外です。これらのリソースはウェブ上の他の場所で見つけることができます。
はじめに
基本型を始める前に、以下のいずれかの入門ページを読むことをお勧めします。これらの入門書は、TypeScriptとあなたの好きなプログラミング言語の主な類似点と相違点を強調し、それらの言語に固有の一般的な誤解を解消することを目的としています。
そうでなければ、基本型に進んでください。