コース一覧
TypeScript型設計:オブジェクト・状態・ジェネリクス
第5章クイズ

TypeScript型設計:オブジェクト・状態・ジェネリクス

interface、optional property、readonly、union・リテラル型、型ガード、ジェネリクスを扱う全23レッスンの型設計コースです。Profile・Work・ApplicationStateを題材に、APIや画面で扱うデータと状態を壊れにくい型として設計します。既存JavaScriptプロジェクトの移行は次のコースで扱います。

1
オブジェクト型とinterface
01. interface15分
02. 省略可能なプロパティ15分
03. readonly15分
04. interfaceとtype15分
05. ネストした型15分
06. オブジェクト配列15分
07. つくる - Work型とProfile型20分
08. 第4章クイズ15分
2
union・リテラル型・型ガード
01. union型15分
02. リテラル型15分
03. 状態のunion15分
04. typeofで絞り込む15分
05. inと判別で絞り込む15分
06. 状態で表示を切り替える15分
07. つくる - 状態の型表現20分
08. 第5章クイズ15分
3
ジェネリクス入門
01. なぜジェネリクスか10分
02. ジェネリック関数15分
03. 配列を返す汎用関数15分
04. 制約付きジェネリクス15分
05. 組み込みのジェネリクス15分
06. つくる - 汎用フィルタ関数20分
07. 第6章クイズ15分

TypeScript型設計:オブジェクト・状態・ジェネリクス

01interface
02省略可能なプロパティ
03readonly
04interfaceとtype
05ネストした型
06オブジェクト配列
07つくる - Work型とProfile型
08第4章クイズ
09union型
10リテラル型
11状態のunion
12typeofで絞り込む
13inと判別で絞り込む
14状態で表示を切り替える
15つくる - 状態の型表現
16第5章クイズ
17なぜジェネリクスか
18ジェネリック関数
19配列を返す汎用関数
20制約付きジェネリクス
21組み込みのジェネリクス
22つくる - 汎用フィルタ関数
23第6章クイズ

第5章クイズ

クイズ1

次のコードでエラーになるのは、どの行ですか。

TypeScript

let workId: string | number; workId = "w-001"; workId = 7; workId = true;

クイズ2

作品カテゴリとして "web" "design" "writing" の 3 つだけを許す型を作りたいとき、正しい書き方はどれですか。

クイズ3

通信状態を型で持つとき、type FetchStatus = "loading" | "success" | "error"; のほうが、isLoading と hasError の 2 つの真偽値で持つより優れているのはなぜですか。

クイズ4

次のコードでエラーになるのはどこですか。

TypeScript

function updatedLabel(updated: string | number): string { if (typeof updated === "number") { return updated + "日前に更新"; } return updated.toFixed(1); }

クイズ5

次のコードで "error" の case を書き忘れると、どうなりますか。

TypeScript

type FetchStatus = "loading" | "success" | "error"; function statusMessage(status: FetchStatus): string { switch (status) { case "loading": return "作品を読み込んでいます"; case "success": return "作品を読み込みました"; } }

未回答の問題は、不正解として正解と解説のみ表示します

ログインが必要です

クイズに回答するにはログインしてください。