TypeScript Academy · レッスン

strictフラグと有効になる機能

strictNullChecksやnoImplicitAnyなどの機能を理解します。

レッスン 1/413 ステップ

「strictフラグと有効になる機能」はCoddyKit上の無料TypeScript Academyレッスンです。 これはレッスン1/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはTypeScript Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 TypeScript Academyコースには全4レッスンが含まれています。

ようこそ

tsconfigのstrictフラグは、より厳格な型チェックオプションのセットを有効にします。それぞれの役割を理解すると、TypeScriptを安全性が最大になるよう設定できます。

strictで有効になる機能

strict: trueを指定すると、複数のサブフラグが一度に有効になります。
// strict enables:
// strictNullChecks, noImplicitAny, strictFunctionTypes,
// strictBindCallApply, strictPropertyInitialization,
// noImplicitThis, useUnknownInCatchVariables, alwaysStrict

strictNullChecks

nullやundefinedを、null非許容型に代入できないようにします。
// Without: let s: string = null; // OK
// With: let s: string = null; // Error

noImplicitAny

TypeScriptがanyと推論する箇所で、明示的な型注釈を要求します。
// Without: function fn(x) {} // x: any
// With: // Error: Parameter has implicit any type

strictFunctionTypes

関数のパラメーター型に対して反変性を適用します。
type Fn = (x: string | number) => void;
const fn: Fn = (x: string) => {}; // Error with strict

strictPropertyInitialization

プロパティはコンストラクターで初期化するか、!を付けて明示する必要があります。
class C {
  name: string; // Error — not initialized
  // name!: string; // OK — known to be set later
  constructor() { this.name = 'Alice'; } // OK
}

noImplicitThis

any型のthisの使用を禁止します(クラスに属さない関数などが該当します)。

alwaysStrict

すべての出力ファイルでuse strictを出力します。

strictBindCallApply

関数に対するbind、call、applyで正しい型が使われるようにします。
function add(a: number, b: number): number { return a + b; }
add.call(null, 1, '2'); // Error with strict

strictの段階的な有効化

大規模なコードベースを移行するときは、strictのサブフラグを1つずつ追加します。
{ "compilerOptions": { "strictNullChecks": true, "noImplicitAny": true } }

新規プロジェクトでのstrict

新しいプロジェクトでは、必ずstrict: trueから始めてください。後から導入するのは非常に困難です。

確認問題

string変数へのnullの代入を防ぐstrictのサブフラグはどれですか?

まとめ

strictフラグとその機能:重要な概念とパターンを身につけました。
無料で開始

AI チューターと学ぶ TypeScript — 無料

ブラウザでリアルコードを書いて実行し、24/7 の AI チューターから瞬時にサポートを受け、ウェブまたはアプリで続きから学習できます。

コース
101
レッスン
352

よくある質問

「strictフラグと有効になる機能」レッスンは無料ですか?

はい。「strictフラグと有効になる機能」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、TypeScript Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 TypeScript Academyコースには全4レッスンが含まれています。

「strictフラグと有効になる機能」で何を学びますか?

strictNullChecksやnoImplicitAnyなどの機能を理解します。 ブラウザで直接実行するハンズオンコードでTypeScript Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

TypeScript Academyを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのTypeScript Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン1/4です。

「strictフラグと有効になる機能」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このTypeScript Academyレッスンでコードを書いて実行できますか?

はい。すべてのTypeScript Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. strictフラグと有効になる機能
  2. ModuleとTargetの設定
  3. Path AliasとbaseUrl
  4. Incremental BuildとDeclaration File
← TypeScript Academyに戻る