TypeScript(タイプスクリプト)
TypeScriptとは、マイクロソフト社が2012年に開発・公開したプログラミング言語で、JavaScriptのスーパーセットです。
スーパーセットとは「上位互換」のことで、JavaScriptが持つ機能を維持しつつ、TypeScriptとしての新しい機能を追加した言語という意味です。
TypeScriptはそのまま実行するのではなく、トランスコンパイラと呼ばれるものでJavaScriptプログラムに変換してから実行します。
TypeScriptの特徴
静的型付け
TypeScriptの特徴は「静的型付け」が利用できる点です。
- 静的型付け:値やオブジェクトの型安全性をコンパイル時に検証する
- 動的型付け:値やオブジェクトの型安全性を実行時に検証する
JavaScriptは「動的型付け」です。そのため、宣言時にデータ型を指定しなくても、JavaScriptが実行されるタイミングで自動的にデータ型が設定されるという特徴を持ちます。
let test = 10;
例えば、上記のコードを書いた場合、変数「test」のデータ型は Number(数値)です。
これはJ変数に代入されている「10=数値」というのを認識し、自動的にデータ型を「Number」にしています。これが「動的型付け」です。
そして TypeScriptは「静的型付け」です。そのため、次のように宣言時にデータ型を指定します。
let test : number = 10;
実行時に動的にデータ型が決まる「動的型付け」とは違い、「静的型付け」はコードを書いた時点でデータ型が決まります。その結果、指定した型以外の値が入っている場合はコンパイルエラーが発生します。
let test : number = "a"; ← コンパイルエラーになる
コンパイル時にエラーが出力されるので、プログラムを実行する前にバグの存在に気づけます。
JavaScriptの上位互換
TypeScriptは、JavaScriptのスーパーセット(上位互換)です。そのため、JavaScriptのコードをそのままTypeScriptのコードとしても利用できます。
またTypeScript独自の構文も、JavaScriptの構文に似ているため、JavaScriptの知識を流用しながらコーディングでき、JavaScriptからの移行コスト(学習コスト)は非常に低いです。