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

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章クイズ

第6章クイズ

クイズ1

次のコードで起きることとして、正しいものはどれですか。

TypeScript

function first(items: any[]): any { return items[0]; } const titles = ["プロフィールサイト", "自己紹介カード"]; const title = first(titles); title.toFixed(2);

クイズ2

配列を受け取ってその先頭の要素を返す汎用関数の書き方として、正しいものはどれですか。

クイズ3

次のコードはどうなりますか。

TypeScript

function collectIds<T>(items: T[]): number[] { return items.map((item) => item.id); }

クイズ4

次の関数に対して、通る呼び出しはどれですか。

TypeScript

function collectIds<T extends { id: number }>(items: T[]): number[] { return items.map((item) => item.id); }

クイズ5

次のコードで、works の型はどれになりますか。

TypeScript

async function fetchWorks(): Promise<Work[]> { const res = await fetch("/api/works"); return res.json(); } const works = await fetchWorks();

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

ログインが必要です

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