型推論とany対unknown
TypeScriptが型を推論する仕組み、anyとunknownの違い、constによって推論がどう変わるかを学びます。
「型推論とany対unknown」はCoddyKit上の無料TypeScript Academyレッスンです。 これはレッスン2/3です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはTypeScript Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 TypeScript Academyコースには全3レッスンが含まれています。
導入
目標:TSが値から型を推論する仕組みを学び、安全性の観点からanyとunknownを比較します。
letとconstによる推論
推論:letは広い型(number)を推論します。constはリテラル型("TS")を推論します。
let count = 5;
// inferred number
const title = "TS";
// inferred literal type "TS"
console.log(count, title);as const
as constはリテラル型を保持し、値をreadonlyとして固定します。列挙型や設定用の配列に便利です。
const colors = ["red", "green", "blue"] as const;
// type is readonly ["red","green","blue"]
console.log(colors);any型
anyは型チェックを無効にします。自由度が高い一方で安全性が失われるため、誤りがあってもコンパイルが通り、実行時にクラッシュする可能性があります。
let flexible: any = 42;
lexible = "hello";
flexible.nonexistentMethod();
// no error at compile time!unknown型
unknownを使うと、値を使う前に型を確認する必要があります。メソッドを無条件に呼び出せないため、anyより安全です。
let input: unknown = "hello";
// Must narrow before use
if (typeof input === "string") {
console.log(input.toUpperCase());
}使い分け
指針:ほとんどの変数では推論を優先します。明確さが必要な場合は明示的な型注釈を使います。anyは避け、型がまだ分からない場合はunknownを優先します。
anyとunknownのチェック
クイックチェック:anyとunknownの主な違いは何ですか?
まとめ
まとめ:TSは型を自動的に推論します。constはリテラル型に絞り込み、as constは値を固定します。anyは安全性を無効にし、unknownはチェックを強制します。
よくある質問
「型推論とany対unknown」レッスンは無料ですか?
はい。「型推論とany対unknown」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、TypeScript Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 TypeScript Academyコースには全3レッスンが含まれています。
「型推論とany対unknown」で何を学びますか?
TypeScriptが型を推論する仕組み、anyとunknownの違い、constによって推論がどう変わるかを学びます。 ブラウザで直接実行するハンズオンコードでTypeScript Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
TypeScript Academyを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのTypeScript Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン2/3です。
「型推論とany対unknown」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このTypeScript Academyレッスンでコードを書いて実行できますか?
はい。すべてのTypeScript Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- プリミティブ型とアノテーション
- 型推論とany対unknown
- ユニオン型とリテラル型(基本的な絞り込み入門)