TypeScriptの概要
TypeScriptは、Microsoft社が開発・保守するオープンソースのオブジェクト指向言語であり、Apache 2ライセンスの下でライセンスされています。
TypeScriptはJavaScriptを拡張し、データ型やクラスなどのオブジェクト指向の機能を追加し、型チェックを行う。TypeScriptはJavaScriptの型付きスーパーセットであり、プレーンなJavaScriptにコンパイルすることができる。
- 公式ウェブサイト: https://www.typescriptlang.org
- ソースコード: https://github.com/Microsoft/TypeScript
なぜTypeScriptを使うべきなのか?
JavaScriptは型システムを持たない動的プログラミング言語です。JavaScriptは文字列、数値、オブジェクトなどのプリミティブな型を提供しますが、代入された値のチェックは行いません。JavaScriptの変数はvarキーワードで宣言され、任意の値を指すことができます。JavaScriptはクラスやその他のオブジェクト指向の機能をサポートしていません。そのため、型システムがなければ、大規模なチームが同じコードで作業する複雑なアプリケーションを構築するためにJavaScriptを使用することは容易ではありません。
型システムは、コードの品質、可読性を高め、コードベースの保守とリファクタリングを容易にする。さらに重要なことは、エラーを実行時ではなく、コンパイル時に捕らえることができることである。
したがって、TypeScriptを使う理由は、コンパイル時にエラーをキャッチし、コードを実行する前に修正することができる点にある。データ型、クラス、列挙型などのオブジェクト指向プログラミングの機能をサポートしており、JavaScriptを大規模に使用することができる。
TypeScriptはシンプルなJavaScriptにコンパイルされます。TypeScriptのコンパイラもTypeScriptで実装されており、あらゆるブラウザやNode.jsなどのJavaScriptエンジンで利用することができる。TypeScriptのコンパイルには、ECMAScript 3以上の互換環境が必要である。これは現在のすべてのブラウザやJavaScriptエンジンで満たされている条件である。
Angular.jsやWinJSなど、最も人気のあるJavaScriptフレームワークのいくつかはTypeScriptで書かれています。
TypeScriptを使うには?
TypeScriptのコードは、拡張子が.tsのファイルに記述され、TypeScriptコンパイラでJavaScriptにコンパイルされます。
TypeScriptのファイルは、どのようなコードエディタでも書くことができます。
TypeScriptのコンパイラは、お使いのプラットフォームにインストールされている必要があります。インストールされると、tsc <ファイル名>.tsというコマンドで、TypeScriptのコードがプレーンなJavaScriptファイルにコンパイルされます。
コンパイル後のJavaScriptファイルは、任意のブラウザで実行することができる。
TypeScriptの特徴
TypeScriptの特徴を6選挙げていきます。
クロスプラットフォーム
TypeScriptは、JavaScriptが動作するあらゆるプラットフォームで動作します。TypeScriptのコンパイラは、Windows、macOS、Linuxなど、あらゆるOSにインストールすることができる。
オブジェクト指向言語
TypeScriptは、クラス、インターフェース、モジュールなどの強力な機能を備えています。クライアントサイドだけでなく、サーバーサイドの開発でも、純粋なオブジェクト指向のコードを書くことができる。
静的な型チェック
TypeScriptは静的型付けを採用しています。これはタイプアノテーションを使用して行われる。これはコンパイル時の型チェックを助けるものである。そのため、毎回スクリプトを実行することなく、コードを入力しながらエラーを発見することができる。さらに、型推論の仕組みを利用して、型がない変数が宣言された場合、その値から推論を行う。
オプションの静的型付け
JavaScriptの動的型付けを使いたい場合は、TypeScriptの静的型付けはオプションとなります。
なので、静的型付けを使わなくても一応書けるということ。
DOM操作
JavaScriptと同様に、TypeScriptもDOMを操作することができる。
ES6の特徴
TypeScriptは、クラス、インターフェース、アロー関数など、ECMAScript2015(ES 6、7)で予定されているほとんどの機能を含んでいます。
TypeScriptの利点
- TypeScriptは、マイクロソフトが継続的に開発・保守を行っているオープンソースの言語である。
- TypeScriptはあらゆるブラウザやJavaScriptエンジンで動作する。
- TypeScriptはJavaScriptに似ており、同じ構文とセマンティクスを使用する。TypeScriptのコードはすべて最終的にJavaScriptに変換される。これにより、現在JavaScriptでコーディングしているフロントエンド開発者は、より早く学習することができる。
- TypeScriptはまた、JavaやScalaのようなバックエンド言語に近い構文を持っている。このため、バックエンドの開発者はフロントエンドのコードをより速く書くことができる。
- TypeScriptのコードは、既存のJavaScriptのコードから呼び出すことができる。また、TypeScriptは既存のJavaScriptフレームワークやライブラリとも問題なく動作する。
- 拡張子が.d.tsのTypeScript Definitionファイルは、JqueryやD3.jsなどの既存のJavaScriptライブラリのサポートを提供する。そのため、TypeScriptのコードは型定義を使ってJavaScriptライブラリを追加し、既存の動的型付けされたJavaScriptライブラリにおける型チェック、コードの自動補完、文書化の利点を利用することができる。
- TypeScriptはECMAScript 2015からの最新のJavaScriptの機能をサポートしています。Node.jsのようなES5レベルのJavaScriptエンジンで実行できるES6とES7の機能が含まれています。これは、将来のJavaScriptバージョンの機能を現在のJavaScriptエンジンで使用できるという大きな利点を提供します。