TypeScriptの基本的な型に関する練習問題
TypeScriptコースの一部として、基本的な型に関する実践的な練習問題を60問用意しています。 基礎から応用まで段階的に学習できるよう構成されています。
学習を開始する準備ができました
下記の練習問題から始めて、段階的にスキルアップしていきましょう
以下のコードの実行結果はどうなりますか? ```typescript let message: string; console.log(message); ```
約3分
タプル型の特徴として正しいものはどれですか?
約3分
16進数を表現する際の正しい記法はどれですか?
約3分
以下のコードで、変数`result`に代入される値は何ですか? ```typescript let value: any = "hello"; let length = value.length; value = 123; let result = value.length; ```
約3分
以下のコードで正しく動作するものはどれですか? ```typescript let mixedArray: (string | number)[] = ["田中", 25]; ```
約3分
オブジェクトの配列の型定義として正しいものはどれですか?
約3分
型推論が働く条件として正しいものはどれですか?
約3分
変数を宣言する際に型注釈も初期値も指定しない場合、TypeScriptはどの型として扱いますか?
約3分
以下のコードで型エラーが発生するのはどの部分ですか? ```typescript let book: { title: string; pages: number; } = { title: "TypeScript入門", pages: 300 }; console.log(book.title); // A console.log(book.pages); // B console.log(book.author); // C book.pages = 350; // D ```
約3分
以下のうち、TypeScriptでオブジェクトの型定義において無効な記法はどれですか?
約3分
以下のタプル定義で、正しく代入できるものはどれですか? ```typescript let coordinate: [number, number] = ? ```
約3分
以下のオブジェクト型定義のうち、文法的に正しいものはどれですか?
約3分
以下のコードでコンパイルエラーが発生するのはどれですか?
約3分
テンプレートリテラルの利点として**最も適切でない**ものはどれですか?
約3分
配列の`filter`メソッドの戻り値の型について正しいものはどれですか? ```typescript let words: string[] = ["hello", "world"]; let result = words.filter(word => word.length > 3); ```
約3分
以下のコードで、TypeScriptが自動的に推論する`city`変数の型は何ですか? ```typescript let city = "東京"; ```
約3分
以下のコードで、`message`が`null`の場合の`length`の値はどうなりますか? ```typescript let message: string | null = null; let length = message?.length ?? 0; ```
約3分
テンプレートリテラルを使用する際に使う記号はどれですか?
約3分
以下のコードで型エラーが発生するのはどれですか?
約3分
TypeScriptで数値の配列を定義する正しい方法はどれですか?
約3分
以下のタプルから分割代入を行う正しい構文はどれですか? ```typescript let userRecord: [string, number, string] = ["田中", 25, "エンジニア"]; ```
約3分
配列とタプルの使い分けとして最も適切なものはどれですか?
約3分
TypeScriptで変数に型を指定する際に使用する記号は何ですか?
約3分
以下のうち、初期値なしで変数を宣言する際に**必須**となるものはどれですか?
約3分
`any`型を避けるべき主な理由は何ですか?
約3分
以下のうち、TypeScriptの基本的なプリミティブ型に**含まれない**ものはどれですか?
約3分
配列の長さを取得する際に型安全に行える方法はどれですか?
約3分
オブジェクトの型定義において、プロパティを省略可能にするために使用する記号は何ですか?
約3分
科学記法(指数記法)で100を表現する正しい記法はどれですか?
約3分
ネストしたオブジェクトの型定義として正しいものはどれですか?
約3分
以下のコードで存在しないインデックスにアクセスした場合の結果はどうなりますか? ```typescript let fruits: string[] = ["りんご", "バナナ"]; console.log(fruits[5]); ```
約3分
以下のコードで安全に文字列の長さを取得する方法として適切なものはどれですか? ```typescript let message: string | null = null; ```
約3分
ユニオン型を使った配列で、型を絞り込むために適切な方法はどれですか? ```typescript let mixedData: (string | number)[] = ["hello", 42, "world"]; ```
約3分
TypeScriptでオブジェクトの型定義において、各プロパティを区切るために使用する記号は何ですか?
約3分
以下のコードで、`isPassed`変数の型は何になりますか? ```typescript let score: number = 85; let minimum: number = 80; let isPassed = score >= minimum; ```
約3分
以下のコードでエラーが発生する行はどれですか? ```typescript let config: { readonly appName: string; maxUsers: number; } = { appName: "MyApp", maxUsers: 100 }; config.maxUsers = 200; // A config.appName = "NewApp"; // B console.log(config.appName); // C ```
約3分
以下のコードで`result`の値はどうなりますか? ```typescript let value: string | null = null; let result = value ?? "デフォルト値"; ```
約3分
`null`と`undefined`の適切な使い分けとして正しいものはどれですか?
約3分
以下のコードで、条件分岐内での`input`の型はそれぞれ何になりますか? ```typescript let input: string | number = "123"; if (typeof input === "string") { // ここでのinputの型は? } else { // ここでのinputの型は? } ```
約3分
ネストしたオブジェクトで深い階層のプロパティにアクセスする正しい方法はどれですか?
約3分
以下のコードの実行結果はどうなりますか? ```typescript let config: { readonly version: string; settings: { theme: string; }; } = { version: "1.0.0", settings: { theme: "dark" } }; config.settings.theme = "light"; console.log(config.settings.theme); ```
約3分
以下のコードの空欄に入る正しい型定義はどれですか? ```typescript let userInfo: _____ = ["山田太郎", 28, true]; ```
約3分
オプショナルプロパティと通常のプロパティの主な違いとして正しいものはどれですか?
約3分
以下のコードの実行結果はどうなりますか? ```typescript let user: { name: string; email?: string; } = { name: "山田" }; console.log(user.email); ```
約3分
配列の`map`メソッドを使った場合の型推論について正しいものはどれですか? ```typescript let numbers: number[] = [1, 2, 3]; let result = numbers.map(num => num * 2); ```
約3分
オプショナルプロパティを安全に使用するために推奨される方法はどれですか?
約3分
`const`で宣言した以下の変数のうち、最も具体的な型として推論されるのはどれですか?
約3分
変数の型安全性を最も高める宣言方法はどれですか?
約3分
以下のテンプレートリテラルの記述として**間違っている**ものはどれですか?
約3分
以下のコードで、`isValid`の値はどうなりますか? ```typescript let userInput: string = ""; let isValid = Boolean(userInput); ```
約3分
TypeScriptの`number`型で表現できる値として**正しくない**ものはどれですか?
約3分
`Array<型名>`と`型名[]`の書き方について正しいものはどれですか?
約3分
`const`で宣言した変数と`let`で宣言した変数の型推論の違いとして正しいものはどれですか?
約3分
以下のコードの実行結果はどうなりますか? ```typescript let price: number = 1000; let tax: number = 0.1; let total = price + (price * tax); console.log(typeof total); ```
約3分
以下のコードの実行結果はどうなりますか? ```typescript let result: number = 10 / 0; console.log(result); ```
約3分
以下のコードで、`foundNumber`の型として正しいものはどれですか? ```typescript let numbers: number[] = [1, 2, 3, 4, 5]; let foundNumber = numbers.find(num => num > 3); ```
約3分
TypeScriptでオブジェクトの配列に新しい要素を追加する際、型安全性を保つために重要なことは何ですか?
約3分
型推論と明示的な型指定のうち、どちらを使うべき場面として**適切でない**ものはどれですか?
約3分
以下のコードでタプルの要素を変更する際に正しいものはどれですか? ```typescript let point: [number, number] = [5, 10]; ```
約3分
TypeScriptでオブジェクトの型定義を行う際に使用する記号はどれですか?
約3分
💡 学習のコツ
1
問題を順番に解く
基礎から応用へと段階的に構成されているため、順番に取り組むことをお勧めします
2
解説をしっかり読む
正解・不正解に関わらず、解説を読んで理解を深めましょう
3
復習で定着させる
間違えた問題は後日再チャレンジして、知識の定着を確認しましょう
次のトピック
関数の型定義プレミアムプランでは、進捗管理、間違えた問題の自動復習リスト、詳細な解説動画など、 より充実した学習体験をご利用いただけます。