
TypeScript 問題集
TypeScriptの基本文法、型システム、Utility Types、およびよくあるコンパイルエラーに関する問題です。
全 36 問 ・ 7 タグ
TypeScript ランダムクイズ
問題数を選んでランダムに出題
TypeScriptの問題一覧
該当件数36件
TypeScriptで「この呼び出しに一致するオーバーロードはありません(ts2769)」というエラーが発生する主な原因として、最も適切なものはどれか?
TypeScriptで関数呼び出し時に「TS2345: Argument of type 'string' is not assignable to parameter of type 'number'.」が発生する原因として正しいものはどれか?
「TS2531: Object is possibly 'null'.」というエラーの安全な解決策は?
変数への代入時に「TS2322: Type 'X' is not assignable to type 'Y'.」が出ました。どう対応すべきですか?
オブジェクト操作時に「TS2339: Property '...' does not exist on type '...'.」が出ました。原因として考えられるのは?
TypeScriptで「TS2769: No overload matches this call.」というエラーが発生しやすい状況として、最も適切なものはどれか?
外部の型を自作型へ変換する際、`as unknown as User` と unknown を経由する理由と、any との違いは?
TypeScriptにおいて、変数の型をコンパイラが自動的に推測する機能を何と呼びますか?
オブジェクトの構造を定義する際、「interface」と「type(型エイリアス)」のどちらを使うべきですか?
複数の型のうち、いずれか1つの型であることを示す「string | number」のような書き方を何と呼びますか?
型を引数として受け取り、汎用的なコンポーネントや関数を作るための仕組みは?
既存の型から、すべてのプロパティを「省略可能」にした新しい型を作るUtility Typeは?
既存の型から、特定のプロパティだけを抽出して新しい型を作るUtility Typeは?
要素の数と、それぞれの要素の型が固定された配列(例:[string, number])を何と呼びますか?
オブジェクトのキー名を文字列のリテラル型のユニオン("name" | "age" など)として取得する演算子は?
JavaScriptの値を元にして、TypeScriptの型を抽出する演算子は?
プロパティのキーがstring、値がnumberのオブジェクト(連想配列)を定義するのに適したUtility Typeは?
絶対に値が返らない(例外を投げる、または無限ループする)関数の戻り値の型は?
TypeScriptにおいて、どんな値でも代入できる「なんでも入る型」として any 型がありますが、型チェックを放棄してしまうため安全ではありません。代わりに、どんな値でも代入できるが、実際に使用する前に「型チェック(型ガードなど)」を強制する、より安全な推奨される型はどれですか?
変数の値が後から変更されないことを保証する、プロパティや配列に付与する修飾子は?
コンパイル時の厳格な型チェックを一括で有効にする、tsconfig.jsonの推奨設定は?
TypeORMでマイグレーションファイルを自動生成し、実行するための正しいコマンドの組み合わせはどれですか?
TypeScriptプロジェクトで `process.env` を使用した際に `error TS2591: Cannot find name 'process'` が発生した。解決策として正しいものはどれか?
TypeScriptにおいて、変数 user が null や undefined になる可能性がある型(例: User | null)を持っています。開発者が「ここでは絶対に値が存在する」と確信している場合、コンパイルエラーを回避して name プロパティにアクセスするための正しい書き方はどれですか?
TypeScriptで「error TS2307: Cannot find module 'resend' or its corresponding type declarations」が発生した。最初に確認すべきこととして最も適切なものはどれか?
TypeScriptで、キーが文字列で値が不定のオブジェクトを定義する際、`Record<string, any>` ではなく `Record<string, unknown>` を使用する最大のメリットは何ですか?
TypeORMを使用してMySQLデータベースからデータを取得(`EntityManager.find`)しようとしたところ、以下のスタックトレースを含むエラーが発生しました。 `SyntaxError: Unexpected strict mode reserved word at compileSourceTextModule...` (中略) `at tryToRequire (/app/node_modules/typeorm/util/ImportUtils.js)` `TypeORMError: Connection is not established with mysql database` このエラーの根本的な原因として、最も可能性が高いものはどれですか?
開発環境でTypeScriptを実行する際、`tsc`でJavaScriptに変換してから`node`で実行する2ステップの代わりに、`ts-node`というツールを使うと1コマンドで実行できます。この`ts-node`の内部的な仕組みや特徴として、最も適切なものはどれですか?
TypeScript で `as unknown as` という二重キャスト(Double Assertion)が必要になるのはどのような場合ですか?
TypeScript で以下の型定義があるとき、コンパイルエラーになるコードはどれですか? type Role = 'admin' | 'editor' | 'viewer'; type RoleConfig = Record<Role, { label: string; canEdit: boolean }>; const config: RoleConfig = { ... };
Zod でバリデーションを行う際、schema.parse(data) と schema.safeParse(data) の違いについて正しい説明はどれか。
以下の Zod スキーマから TypeScript の型を導出したい。正しい書き方はどれか。 const UserSchema = z.object({ name: z.string(), age: z.number().optional(), });
TypeScript の as による型アサーションについて、正しい説明はどれですか?
次のコードのうち、型アサーションを使っているのはどれですか? // A const name = 'Alice'; // B const age: number = 25; // C const data = JSON.parse(json) as User; // D function greet(user: User) { return user.name; }
Zod の z.lazy() はどのような場面で使うのが正しいですか?
次の identity 関数について、正しい説明はどれですか? function identity<T>(value: T): T { return value; } const a = identity<string>('hello'); const b = identity(42);
TypeScriptとは
TypeScriptはMicrosoftが開発したJavaScriptの上位互換言語で、静的型付けシステムを追加しています。型推論、ジェネリクス、ユニオン型、Utility Types(Partial、Pick、Omit等)、型ガードなど強力な型システムにより、大規模アプリケーションの開発生産性と保守性を大幅に向上させます。
なぜTypeScriptを学ぶべきか
TypeScriptはモダンなフロントエンド・バックエンド開発で事実上の標準となりつつあります。React、Vue、Angular、Next.js、NestJSなど主要フレームワークがTypeScript対応を推奨しています。型安全性によりバグの早期発見が可能で、エディタの補完も強化されるため、開発体験(DX)が大幅に向上します。
出題トピック
型システムの基礎
プリミティブ型、オブジェクト型、配列型、タプル型、ユニオン型、リテラル型、型エイリアスとインターフェースの使い分けを出題します。
ジェネリクス
ジェネリック関数、ジェネリッククラス、制約付きジェネリクス(extends)、条件型などの高度な型パターンを扱います。
Utility Types
Partial、Required、Pick、Omit、Record、Exclude、Extract、ReturnType、Parameters などの組み込みユーティリティ型を問います。
型ガードと型の絞り込み
typeof、instanceof、in演算子、ユーザー定義型ガード、Discriminated Unionによる型の絞り込みパターンを出題します。
こんな方におすすめ
- JavaScriptからTypeScriptへの移行を考えている方
- 型システムの理解を深めたいフロントエンド開発者
- 大規模プロジェクトでの開発品質を向上させたい方
- React + TypeScript での開発を学びたい方