TypeScriptの関数の型定義に関する練習問題
TypeScriptコースの一部として、関数の型定義に関する実践的な練習問題を28問用意しています。 基礎から応用まで段階的に学習できるよう構成されています。
学習を開始する準備ができました
下記の練習問題から始めて、段階的にスキルアップしていきましょう
カスタムエラークラスを作成する際の正しい書き方はどれですか?
約3分
以下のコードの空欄に入る適切な型はどれですか? ```typescript function filterArray(items: number[], condition: ____): number[] { const result = []; for (const item of items) { if (condition(item)) { result.push(item); } } return result; } ```
約3分
以下のコードで、`transformArray`関数に渡すコールバック関数として**適切でない**ものはどれですか? ```typescript function transformArray(arr: string[], transform: (item: string) => string): string[] { return arr.map(transform); } ```
約3分
以下の関数呼び出しのうち、型エラーが発生しないものはどれですか? ```typescript function calculateTotal(price: number, tax: number = 0.1): number { return price * (1 + tax); } ```
約3分
`void`型を戻り値とする関数の用途として最も適切なものはどれですか?
約3分
関数型における引数名の扱いについて正しい説明はどれですか?
約3分
以下のコールバック関数の使用例で、コンパイルエラーが発生するものはどれですか? ```typescript function processValue(value: number, callback: (x: number) => string): void { console.log(callback(value)); } ```
約3分
非同期関数で`Promise<number>`を返す関数を`async/await`で使用する際、`await`の結果の型は何になりますか?
約3分
`void`型と`undefined`型の使い分けとして正しいものはどれですか?
約3分
async/await構文の主な利点として**最も重要でない**ものはどれですか?
約3分
TypeScriptで「2つの数値を受け取り、1つの数値を返す関数」の型を表現する正しい方法はどれですか?
約3分
以下のコードで`applyOperation`関数の`operation`引数に指定すべき型はどれですか? ```typescript function applyOperation(value: number, operation: ____): number { return operation(value); } ```
約3分
`Promise<string>`型が表す意味として最も適切なものはどれですか?
約3分
`async`キーワードを付けた関数が自動的に返す型は何ですか?
約3分
以下のコードを実行したときの結果はどうなりますか? ```typescript async function fetchNumber(): Promise<number> { return new Promise((resolve, reject) => { setTimeout(() => reject(new Error("失敗")), 100); }); } async function main(): Promise<void> { try { const num = await fetchNumber(); console.log("成功:", num); } catch (error) { console.log("エラー:", error.message); } console.log("処理完了"); } ```
約3分
非同期処理でエラーをキャッチするために使用するTypeScriptの構文はどれですか?
約3分
関数を戻り値として返す高階関数の型定義として正しいものはどれですか?
約3分
TypeScriptで関数の戻り値の型を指定する際の正しい書き方はどれですか?
約3分
デフォルト引数を持つ関数の特徴として正しいものはどれですか?
約3分
以下のコードで配列を受け取って処理する関数の引数の型として正しいものはどれですか? ```typescript function processNumbers(numbers: ____): number[] { return numbers.map(num => num * 2); } ```
約3分
アロー関数で引数と戻り値の型を指定する正しい書き方はどれですか?
約3分
`await`キーワードを使用した際のTypeScriptの型推論について正しいものはどれですか?
約3分
オプショナル引数を定義する際に使用する記号は何ですか?
約3分
以下のコードの戻り値の型として正しいものはどれですか? ```typescript function findUser(id: number) { if (id === 1) { return "田中"; } return undefined; } ```
約3分
以下のエラー型定義において、API呼び出しが成功した場合のデータアクセス方法として正しいものはどれですか? ```typescript type ApiResult<T> = { success: true; data: T; } | { success: false; error: string; }; ```
約3分
以下のコードで、`greet`関数を正しく呼び出せるものはどれですか? ```typescript function greet(name: string, title?: string): string { if (title) { return `Hello, ${title} ${name}!`; } return `Hello, ${name}!`; } ```
約3分
複数の非同期処理で一つでもエラーが発生した場合の処理について、最も適切な設計パターンはどれですか?
約3分
TypeScriptで関数型を使用する主な利点として最も適切なものはどれですか?
約3分
💡 学習のコツ
1
問題を順番に解く
基礎から応用へと段階的に構成されているため、順番に取り組むことをお勧めします
2
解説をしっかり読む
正解・不正解に関わらず、解説を読んで理解を深めましょう
3
復習で定着させる
間違えた問題は後日再チャレンジして、知識の定着を確認しましょう
プレミアムプランでは、進捗管理、間違えた問題の自動復習リスト、詳細な解説動画など、 より充実した学習体験をご利用いただけます。