テンプレートリテラル型:文字列パターン
文字列のユニオンを組み合わせてパターン型を作成します。
「テンプレートリテラル型:文字列パターン」はCoddyKit上の無料TypeScript Academyレッスンです。 これはレッスン3/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはTypeScript Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 TypeScript Academyコースには全4レッスンが含まれています。
ようこそ
テンプレートリテラル型の基本
type Greeting = `Hello, ${string}`;
const g: Greeting = 'Hello, World'; // OK
// const bad: Greeting = 'Hi there'; // Errorユニオンの組み合わせ
type Color = 'red' | 'green' | 'blue';
type Size = 'sm' | 'lg';
type ColorSize = `${Color}-${Size}`;
// 'red-sm' | 'red-lg' | 'green-sm' | ...イベント名のパターン
type Entity = 'user' | 'product';
type EventName = `on${Capitalize<Entity>}Created`;
// 'onUserCreated' | 'onProductCreated'Capitalizeとその他の組み込み型
type T = Capitalize<'hello world'>; // 'Hello world'
type U = Uppercase<'hello'>; // 'HELLO'
type L = Lowercase<'WORLD'>; // 'world'Getter生成パターン
type Getters<T> = {
[K in keyof T as `get${Capitalize<string & K>}`]: () => T[K]
};型付きルートパラメーター
type RouteParams<T extends string> =
T extends `${infer _Start}:${infer Param}/${infer Rest}`
? Param | RouteParams<Rest>
: T extends `${infer _Start}:${infer Param}`
? Param
: never;CSSプロパティ名
type CSSVar = `--${string}`;
const color: CSSVar = '--primary-color'; // OK関数パラメーターでのテンプレートリテラル
function emit<E extends `on${string}`>(event: E): void {
console.log('Emitting:', event);
}
emit('onClick'); // OK
// emit('click'); // Error — must start with 'on'inferによる部分文字列の抽出
type GetSuffix<T extends string> =
T extends `${infer _Prefix}_${infer Suffix}` ? Suffix : never;
type S = GetSuffix<'user_created'>; // 'created'Recordとの交差型
type Handlers<T extends string> = Record<`on${Capitalize<T>}`, () => void>;確認問題
まとめ
よくある質問
「テンプレートリテラル型:文字列パターン」レッスンは無料ですか?
はい。「テンプレートリテラル型:文字列パターン」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、TypeScript Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 TypeScript Academyコースには全4レッスンが含まれています。
「テンプレートリテラル型:文字列パターン」で何を学びますか?
文字列のユニオンを組み合わせてパターン型を作成します。 ブラウザで直接実行するハンズオンコードでTypeScript Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
TypeScript Academyを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのTypeScript Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン3/4です。
「テンプレートリテラル型:文字列パターン」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このTypeScript Academyレッスンでコードを書いて実行できますか?
はい。すべてのTypeScript Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- Mapped Type:オブジェクト型の変換
- Mapped Typeの修飾子:readonlyと?
- テンプレートリテラル型:文字列パターン
- Mapped Typeのasによるキーの再マッピング