基本的な型

上級
60
6時間

TypeScriptの基本的な型に関する練習問題

TypeScriptコースの一部として、基本的な型に関する実践的な練習問題を60問用意しています。 基礎から応用まで段階的に学習できるよう構成されています。

学習を開始する準備ができました

下記の練習問題から始めて、段階的にスキルアップしていきましょう

typescript icon

練習問題一覧 (60問)

問題 1

以下のコードの実行結果はどうなりますか? ```typescript let message: string; console.log(message); ```

問題 2

タプル型の特徴として正しいものはどれですか?

問題 3

16進数を表現する際の正しい記法はどれですか?

問題 4

以下のコードで、変数`result`に代入される値は何ですか? ```typescript let value: any = "hello"; let length = value.length; value = 123; let result = value.length; ```

問題 5

以下のコードで正しく動作するものはどれですか? ```typescript let mixedArray: (string | number)[] = ["田中", 25]; ```

問題 6

オブジェクトの配列の型定義として正しいものはどれですか?

問題 7

型推論が働く条件として正しいものはどれですか?

問題 8

変数を宣言する際に型注釈も初期値も指定しない場合、TypeScriptはどの型として扱いますか?

問題 9

以下のコードで型エラーが発生するのはどの部分ですか? ```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 ```

問題 10

以下のうち、TypeScriptでオブジェクトの型定義において無効な記法はどれですか?

問題 11

以下のタプル定義で、正しく代入できるものはどれですか? ```typescript let coordinate: [number, number] = ? ```

問題 12

以下のオブジェクト型定義のうち、文法的に正しいものはどれですか?

問題 13

以下のコードでコンパイルエラーが発生するのはどれですか?

問題 14

テンプレートリテラルの利点として**最も適切でない**ものはどれですか?

問題 15

配列の`filter`メソッドの戻り値の型について正しいものはどれですか? ```typescript let words: string[] = ["hello", "world"]; let result = words.filter(word => word.length > 3); ```

問題 16

以下のコードで、TypeScriptが自動的に推論する`city`変数の型は何ですか? ```typescript let city = "東京"; ```

問題 17

以下のコードで、`message`が`null`の場合の`length`の値はどうなりますか? ```typescript let message: string | null = null; let length = message?.length ?? 0; ```

問題 18

テンプレートリテラルを使用する際に使う記号はどれですか?

問題 19

以下のコードで型エラーが発生するのはどれですか?

問題 20

TypeScriptで数値の配列を定義する正しい方法はどれですか?

問題 21

以下のタプルから分割代入を行う正しい構文はどれですか? ```typescript let userRecord: [string, number, string] = ["田中", 25, "エンジニア"]; ```

問題 22

配列とタプルの使い分けとして最も適切なものはどれですか?

問題 23

TypeScriptで変数に型を指定する際に使用する記号は何ですか?

問題 24

以下のうち、初期値なしで変数を宣言する際に**必須**となるものはどれですか?

問題 25

`any`型を避けるべき主な理由は何ですか?

問題 26

以下のうち、TypeScriptの基本的なプリミティブ型に**含まれない**ものはどれですか?

問題 27

配列の長さを取得する際に型安全に行える方法はどれですか?

問題 28

オブジェクトの型定義において、プロパティを省略可能にするために使用する記号は何ですか?

問題 29

科学記法(指数記法)で100を表現する正しい記法はどれですか?

問題 30

ネストしたオブジェクトの型定義として正しいものはどれですか?

問題 31

以下のコードで存在しないインデックスにアクセスした場合の結果はどうなりますか? ```typescript let fruits: string[] = ["りんご", "バナナ"]; console.log(fruits[5]); ```

問題 32

以下のコードで安全に文字列の長さを取得する方法として適切なものはどれですか? ```typescript let message: string | null = null; ```

問題 33

ユニオン型を使った配列で、型を絞り込むために適切な方法はどれですか? ```typescript let mixedData: (string | number)[] = ["hello", 42, "world"]; ```

問題 34

TypeScriptでオブジェクトの型定義において、各プロパティを区切るために使用する記号は何ですか?

問題 35

以下のコードで、`isPassed`変数の型は何になりますか? ```typescript let score: number = 85; let minimum: number = 80; let isPassed = score >= minimum; ```

問題 36

以下のコードでエラーが発生する行はどれですか? ```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 ```

問題 37

以下のコードで`result`の値はどうなりますか? ```typescript let value: string | null = null; let result = value ?? "デフォルト値"; ```

問題 38

`null`と`undefined`の適切な使い分けとして正しいものはどれですか?

問題 39

以下のコードで、条件分岐内での`input`の型はそれぞれ何になりますか? ```typescript let input: string | number = "123"; if (typeof input === "string") { // ここでのinputの型は? } else { // ここでのinputの型は? } ```

問題 40

ネストしたオブジェクトで深い階層のプロパティにアクセスする正しい方法はどれですか?

問題 41

以下のコードの実行結果はどうなりますか? ```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); ```

問題 42

以下のコードの空欄に入る正しい型定義はどれですか? ```typescript let userInfo: _____ = ["山田太郎", 28, true]; ```

問題 43

オプショナルプロパティと通常のプロパティの主な違いとして正しいものはどれですか?

問題 44

以下のコードの実行結果はどうなりますか? ```typescript let user: { name: string; email?: string; } = { name: "山田" }; console.log(user.email); ```

問題 45

配列の`map`メソッドを使った場合の型推論について正しいものはどれですか? ```typescript let numbers: number[] = [1, 2, 3]; let result = numbers.map(num => num * 2); ```

問題 46

オプショナルプロパティを安全に使用するために推奨される方法はどれですか?

問題 47

`const`で宣言した以下の変数のうち、最も具体的な型として推論されるのはどれですか?

問題 48

変数の型安全性を最も高める宣言方法はどれですか?

問題 49

以下のテンプレートリテラルの記述として**間違っている**ものはどれですか?

問題 50

以下のコードで、`isValid`の値はどうなりますか? ```typescript let userInput: string = ""; let isValid = Boolean(userInput); ```

問題 51

TypeScriptの`number`型で表現できる値として**正しくない**ものはどれですか?

問題 52

`Array<型名>`と`型名[]`の書き方について正しいものはどれですか?

問題 53

`const`で宣言した変数と`let`で宣言した変数の型推論の違いとして正しいものはどれですか?

問題 54

以下のコードの実行結果はどうなりますか? ```typescript let price: number = 1000; let tax: number = 0.1; let total = price + (price * tax); console.log(typeof total); ```

問題 55

以下のコードの実行結果はどうなりますか? ```typescript let result: number = 10 / 0; console.log(result); ```

問題 56

以下のコードで、`foundNumber`の型として正しいものはどれですか? ```typescript let numbers: number[] = [1, 2, 3, 4, 5]; let foundNumber = numbers.find(num => num > 3); ```

問題 57

TypeScriptでオブジェクトの配列に新しい要素を追加する際、型安全性を保つために重要なことは何ですか?

問題 58

型推論と明示的な型指定のうち、どちらを使うべき場面として**適切でない**ものはどれですか?

問題 59

以下のコードでタプルの要素を変更する際に正しいものはどれですか? ```typescript let point: [number, number] = [5, 10]; ```

問題 60

TypeScriptでオブジェクトの型定義を行う際に使用する記号はどれですか?

💡 学習のコツ

  • • 順番に取り組むことで、段階的に理解を深めることができます
  • • 間違えた問題は解説をしっかり読んで理解しましょう
  • • 全問題完了後、もう一度チャレンジして定着を確認しましょう

📚 学習の進め方

1

問題を順番に解く

基礎から応用へと段階的に構成されているため、順番に取り組むことをお勧めします

2

解説をしっかり読む

正解・不正解に関わらず、解説を読んで理解を深めましょう

3

復習で定着させる

間違えた問題は後日再チャレンジして、知識の定着を確認しましょう

さらに効果的な学習を

プレミアムプランでは、進捗管理、間違えた問題の自動復習リスト、詳細な解説動画など、 より充実した学習体験をご利用いただけます。