TypeScriptは型付きJavaScriptです。TypeScriptはJavaScriptに型を追加することで、JavaScriptコードを実行する前にエラーをキャッチし、開発をスピードアップします。
TypeScriptは、JavaScriptをベースに構築されたオープンソースのプログラミング言語です。JavaScriptが動作するあらゆるWebブラウザ、OS、環境で動作します。
このTypeScriptチュートリアルでは、以下の内容を学習します。
- TypeScriptが従来のJavaScriptに比べて多くの利点をもたらす理由。
- TypeScriptの真の姿と、その内部動作を理解する。
- TypeScriptとその豊富な機能(型、クラス、インターフェース、モジュールなど)を使用する。
前提条件
チュートリアルを進めるには、以下が必要です。
- JavaScriptの基礎知識。JavaScriptを学びたい場合は、JavaScript チュートリアルをご覧ください。
- ECMAScript 2015 または ES6 の知識。
セクション 1. はじめよう
- TypeScriptとは – TypeScriptとは何か、そして従来のJavaScriptに比べてどのような利点があるのかを学びます。
- TypeScript開発環境のセットアップ – TypeScriptでより生産性を高めるための開発環境のセットアップ方法を紹介します。
- TypeScript Hello World – TypeScriptで最初のプログラムである
Hello, World!
を作成する手順を説明します。 - TypeScriptを使う理由 – TypeScriptを使うべき理由を明確に理解します。
セクション 2. 基本的な型
- 型注釈 – 変数、関数パラメータ、戻り値の静的型を定義するために型注釈を使用する方法を学びます。
- 型推論 – TypeScriptが変数の型をどこでどのように推論するのかを説明します。
- 数値型 – 浮動小数点数やBigIntを含む数値型について学びます。
- 文字列型 – TypeScriptで文字列型を使用する方法を紹介します。
- 真偽値型 – 真偽値型とその効果的な使用方法について説明します。
- オブジェクト型 – プリミティブ値以外の値を表すオブジェクト型を紹介します。
- 配列 – 配列とその操作方法を紹介します。
- タプル – 既知の型の固定数の要素をタプルに格納する方法を学びます。
- 列挙型 – 列挙型を使用して名前付き定数のグループを定義する方法を紹介します。
- Any型 –
any
型を使用して、任意の型の値を変数に格納する方法を学びます。 - Unknown型 – 任意の型の値を保持できるが、使用前に型チェックを必要とする変数を作成する方法を紹介します。
- Void型 – 値を返さない関数の戻り値の型としてvoid型を使用する方法を紹介します。
- Never型 – 値を含まない
never
型の使い方を学びます。 - 共用体型 – 共用体型を使用して、1つまたは複数の型の値を変数に格納する方法について説明します。
- 文字列リテラル型 – 指定された文字列リテラルのみを受け入れる型を定義する方法を学びます。
- 型エイリアス – 型エイリアスを使用して型に新しい名前を定義する方法を紹介します。
セクション3. 制御フロー文
以下のチュートリアルでは、制御フロー文の知識を復習します。JavaScriptでこれらの文に既に精通している場合は、このセクションをスキップしてください。
セクション4. 関数
- 関数 – TypeScriptで型注釈を使用する関数を宣言する方法を学びます。
- 関数型 – 関数型を使用して関数の型を定義する方法について説明します。
- オプションパラメータ – オプションパラメータを持つ関数を定義する方法を紹介します。
- デフォルトパラメータ – デフォルトパラメータを紹介します。
- レストパラメータ – レストパラメータを使用して、関数の無限の数の引数を処理します。
- 関数オーバーロード – 関数オーバーロードを介してパラメータ型と関数の結果の間に関係を確立する方法を学びます。
セクション5. クラス
- クラス – TypeScriptでクラスを構築する方法を学びます。
- アクセス修飾子 – private、protected、publicアクセス修飾子を紹介します。
- readonly修飾子 –
readonly
修飾子を使用してクラスプロパティを変更不可にする方法を学びます。 - ゲッターとセッター – ゲッターとセッターを使用してクラスプロパティへのアクセスを制御する方法を紹介します。
- 継承 – 継承を使用して別のクラスの機能を再利用する方法を学びます。
- 静的メソッドとプロパティ – クラスのすべてのインスタンスで共有される静的メソッドと変数を定義します。
- 抽象クラス – いくつかの共通の動作を定義する抽象クラスについて説明します。
セクション6. インターフェース
- インターフェース – インターフェースと、コード内でコントラクトを作成するためにインターフェースを使用する方法を紹介します。
- インターフェースの拡張 – インターフェースを拡張してインターフェースの組み合わせを作成する方法を学びます。
- インターフェースと抽象クラスの比較 – インターフェースと抽象クラスの違いについて説明します。
セクション8. ジェネリクス
- TypeScriptジェネリクスの紹介 – TypeScriptジェネリクスを使用してジェネリック関数を開発する方法を学びます。
- ジェネリック制約 – ジェネリック型に制約を追加する方法を紹介します。
- ジェネリッククラス – ジェネリッククラスを開発する方法について説明します。
- ジェネリックインターフェース – ジェネリックインターフェースを作成する手順を説明します。
セクション9. モジュール
- TypeScriptモジュール – TypeScriptのモジュールと、他のモジュールでそれらを使用する方法を紹介します。
セクション10. TypeScriptツールのセットアップ
- Node.js TypeScript – Node.jsプロジェクトでTypeScriptを使用するための開発環境をセットアップする方法。
- TypeScript Vite – TypeScriptをJavaScriptにコンパイルするためにTypeScriptとViteを使用するWebプロジェクトをセットアップします。