TypeScriptとは
- JavaScriptにコンパイルされる静的型システムがついたJavaScriptの上位集合
- JavaScriptの仕様をベースに拡張したプログラミング言語
⇨ 新しい機能と利便性をJavaScriptに追加
大きな欠点
JavaScriptの環境で実行できない。
ブラウザでTypeScriptを直接実行できない。
- JavaScriptにコンパイルされる静的型システム
⇨ TypeScriptは型検査に通るように書く必要がある
⇨ 新しい機能をJavaScriptコードに変換する + 潜在的なエラーのチェック(型チェック)
※ TypeScriptで書いたものをJavaScriptに変換するツール
なぜTypeScriptか?
- ドキュメントとしての側面を利用するため
⇨ 半自動的に関数の使い方がわかる
コードを今まで書いていた人 → 本当にそのコードが合っているのか定かではないが
『TypeScript』はエラーが出るため信頼できるドキュメントになる
sample.ts
function add(a:number, b:number):number {
return a + b;
}
- Linterとしての側面を利用するため
⇨ Linterとは、実行する前にそのコードが正しいかどうかを検証するツール
膨大な量のコードの場合、エラーに気づきにくいが『TypeScript』はコンパイラーが自動的にコードを読んでエラーを見つけてくれる
- ES5へのコンパイラとしての側面を利用するため
⇨ ES6でコードを書いてもブラウザが追いつかない
ES5までは主要なブラウザが対応して、最新の書き方で書いてもダウングレードできる
TypeScriptをインストール
$ npm install -g typescript
TypeScriptで書いたコードをJavaScriptに変換する
$ mkdir <プロジェクト名> //フォルダを作成
$ touch <プロジェクト名> //ファイルを作成
$ tsc <プロジェクト名>//コンパイルすると同じ名前のJavaScriptのファイルができる
$ node <プロジェクト名> //実行する
TypeScriptの概要
TypeScriptが追加しているもの
1. 型
① 型を利用することにより、無駄なエラーや予想外の問題を防げる
② Vscodeのようなモダンな開発環境であれば型があることにより非常に便利なコードの自動保管を利用できる
③ コンパイルすることなくソースコード上に直接エラーを表示してくれる
2. 新しい世代のJavaScriptの機能
① 新しいJavaScriptの機能をTypeScriptで利用できる
② Babelのようなもの
※ Babelとは
新しいバージョンのJavaScript(ES6以降)を古いバージョンでも動くように
変換(コンパイル)するツールのこと