メインコンテンツにスキップ
モジュール 7 · レッスン 1 / 2コース内の 13/14~12 min
モジュールのレッスン (1/2)

tsconfig.jsonによる設定

tsconfig.json ファイルは、TypeScript プロジェクトのルート ディレクトリと、プロジェクトのビルドに必要なコンパイラ オプションを指定します。

プロジェクト ディレクトリで tsc を実行するたびに、コンパイラはコンパイル動作をガイドするためにこのファイルを検索します。


tsconfig.json ファイルの構造

一般的な構成ファイルは次のようになります。

Code
{
  "compilerOptions": {
    "target": "es2022",
    "module": "commonjs",
    "strict": true,
    "esModuleInterop": true,
    "skipLibCheck": true,
    "forceConsistentCasingInFileNames": true,
    "outDir": "./dist"
  },
  "include": ["src/**/*"],
  "exclude": ["node_modules", "**/*.spec.ts"]
}

主なプロパティは次のとおりです。

  • compilerOptions: コンパイラの設定。
  • include: コンパイルするファイルまたはフォルダーを指定します。
  • exclude: コンパイル中に無視するファイルまたはフォルダーを指定します。

主要なコンパイラ オプション

知っておくべき最も重要な設定のいくつかを次に示します。

  1. target: コンパイラーによって出力される JavaScript のバージョンを指定します (例: es5、es6/es2015、es2020、esnext)。
  2. module: コンパイルされたコードで使用されるモジュール システムを指定します (例: commonjs、esnext、node16)。
  3. strict: 広範な厳密な型チェック動作を有効にします。型の安全性を最大限に高めるために、これを true に設定することを強くお勧めします。次のようなオプションが有効になります。
    • noImplicitAny: 型アノテーションが提供されていない場合、暗黙の any 型を含む式および宣言でエラーが発生します。
    • strictNullChecks: null または undefined を、共用体に明示的に含まない型に割り当てることを防ぎます。

自分で試してみてください

演習 1: strictNullCheck の処理

運動#ts.m7.l1.e1
試行回数: 0読み込み中…

tsconfig.json の strictNullChecks: true オプションでは、プリミティブ型に null または未定義を割り当てることはできません。 string | 型の入力を受け入れる parseAge という名前の関数を宣言します。 null を返し、入力が null でなく有効な整数の場合は数値を返し、それ以外の場合は 0 を返します。厳密なコンパイルに合格するには、null の場合を明示的に処理します。

エディターを読み込み中…
ヒントを表示

関数の開始時に入力が null かどうかを確認し、文字列を処理する直前に 0 を返します。

3 回の試行後に解決策が利用可能になります

演習 2: 暗黙的な Any を使用しない厳密な型付け

運動#ts.m7.l1.e2
試行回数: 0読み込み中…

noImplicitAny: true では、型を推測できないパラメータは明示的に型指定する必要があります。配列項目 (数値の配列) を受け入れる processItems という名前の関数と、単一の数値を引数として受け取り、何も返さないコールバック関数を作成します。何も使用せず、すべてを明示的に入力してください。

エディターを読み込み中…
ヒントを表示

シグネチャ関数 processItems(items:number[], callback:(item:number) => void):void を使用して関数を宣言します。

3 回の試行後に解決策が利用可能になります