TypeScriptとJavaScriptの違いについて書いていきます。
具体的には、型宣言・クラス・ジェネリクスについて書きます!
まず、TypeScriptとは?についてです。
TypeScriptとは、JavaScriptを拡張して作られたものですが、JavaScriptとは違い静的型付けのクラスベースオブジェクト指向言語です。
TypeScriptをコンバートすると、JavaScriptのコードに変換されるため、JavaScriptが動く環境であればすぐに使うことができます。
JavaScriptのライブラリなども使用でき、互換性は抜群!!
では、TypeScriptとJavaScriptの違いについて、書いていきます!
JavaScriptとの違い
大きな違いは以下の3点かと思います!
JavaScriptとの3つの違い
動的型付けから静的型付けになった
クラスが使える
ジェネリクスが使える
静的型付け
以下のように型を宣言できる
let flag: boolean = false; // boolean型 let decimal: number = 256; // 数値型 let word: string = 'hello'; // 文字列型
クラスが使える
以下のようにクラスが使える。interfaceやextendも使える
class User { name: string age: number constructor {name: string) { this.name = name; } } const user= new User('test user')
ジェネリクスが使える
ジェネリクスとは「抽象化されたデータ型」を表現する機能
実際に利用される時に、型を確定させるという使い方が可能です。
型だけが違う同じ機能を持つ関数やクラスは、ジェネリクスで1つ用意しておくことで、再利用性ができ、ソースコードの保守性が増します。
let getArray = <T>(value: T): T[] => { // <T>という抽象的な型を宣言 return [value, value, value]; }; console.log(getArray<number>(1)); // 実行時に<T>の部分に型を指定してあげる