TypeScriptとJavaScriptの違い-型宣言・クラス・ジェネリクス

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>の部分に型を指定してあげる