【プログラミング学習1-11】TypeScriptの基礎理解
プログラミング学習、今日のタスクは「TypeScriptの基礎理解」です。
今日のお題 TypeScriptの基礎理解
TypeScriptはJavaScriptに型の概念を取り入れた言語で、開発時に多くのエラーを防いでくれる強力なツールです。以下の手順で進めることで、TypeScriptの基本から実践的なスキルまで身につけやすくなります。
ステップ1: TypeScriptの基礎理解
1.TypeScriptのインストールと環境設定
最初にTypeScriptをインストールし、基本の環境を整えます。
npm install -g typescript
インストール後、簡単な「Hello, TypeScript!」プログラムを作成してコンパイルしてみましょう。例えば、hello.ts ファイルを作成し、以下のように書きます。
これをコンパイルするには、以下のコマンドを実行します。
(この時、cd ~/desktopなどで、ファイルがある場所に移動する)
すると、hello.js というJavaScriptファイルが生成され、node hello.js で実行できます。
2.基本の型(Type)を理解する
TypeScriptには数値や文字列、配列、オブジェクトなどの基本的な型があり、変数や関数に型を付けてエラーを防げるようになっています。以下のように基本の型付けを確認しましょう。
3.型推論と型注釈
TypeScriptは多くの場面で型を推論してくれますが、必要に応じて型注釈を追加することで、さらにコードの安全性を高めます。
ステップ2: TypeScriptの重要機能
4.インターフェース(Interfaces)
TypeScriptではインターフェースを使ってオブジェクトの構造を定義し、コードの再利用性を向上させます。
5.関数の型定義
関数に入力引数や戻り値の型を定義して、間違った引数が渡されないようにできます。
6.ジェネリクス(Generics)
型の柔軟性を持たせるためにジェネリクスを使用します。ジェネリクスは特に関数やクラスで使われ、どの型にも対応できるコードを作れます。
7.ユニオン型とリテラル型
複数の型を持つ変数や、決まった文字列のみを許容する型(リテラル型)もTypeScriptで扱えます。
ステップ3: 応用的な機能
8.クラスと継承
TypeScriptはクラスベースのオブジェクト指向をサポートしています。JavaScriptのクラスを拡張し、さらに型安全なコードを実現できます。
9.モジュールと名前空間 TypeScriptのモジュールを使って、ファイル間でコードを整理しやすくします。
10.型のユーティリティ(Utility Types) TypeScriptには便利な型ユーティリティが多数あります。Partial, Readonly, Pick, Omit など、特定の状況で型を変換するために使用します。
ステップ4: 練習問題
以下はTypeScriptを使った基本的な練習問題です。
基本の型付け
数値型の変数 age と、文字列型の変数 firstName を宣言し、それらを使ってメッセージを作成してください。
インターフェースの使用
ユーザーの名前、年齢、管理者権限を表すオブジェクトの型を定義してください。
ジェネリクスを使った関数
配列の要素を返す関数 getArrayElement を作成し、数値の配列や文字列の配列で動作するか確認してください。
以下、回答できずChatGPTに答えを確認
→getArrayElement は、配列とインデックスを引数として受け取り、指定されたインデックスにある要素を返します。この関数にジェネリクスを使うと、数値の配列、文字列の配列など、任意の型に対応できます。
ジェネリクス <T> によって、getArrayElement 関数は、配列の型(number や string)に応じて返り値の型も動的に変わります。
クラスとインターフェース
「車(Car)」のクラスを作成し、drive() メソッドを持たせて、走行距離を表示するようにしてみましょう。
ユニオン型
数値か文字列を取り、数値ならそれを2倍にし、文字列なら文字数を返す関数 doubleOrLength を作成してください。
ステップ5: プロジェクトにTypeScriptを導入
練習後は、既存のJavaScriptプロジェクトにTypeScriptを導入してリファクタリングを行うと理解が深まります。特に、型の適用によってバグを防げるポイントを実感しやすくなります。
感想
今日は1日でTypescriptの基礎を抑えようとしましたが、ステップ5で断念してしまいました。
既存のJavaScriptプロジェクトが思いつかないので、次に何かのアプリを作るときに、Typescriptだとどうなるのか?を確認したいと思います。
花粉が辛くて泣きそう。薬を飲んで元気だそう。
それでは今日も良い1日をお過ごしください。