TypeScriptの基礎的な知識(TypeScriptとは・TypeScriptとJavaScriptの関係性など)について学ぶ
学んだこと
TypeScript とは
- javaScript にコンパイルされる
- JavaScript が入っている環境であれば TypeScript を動かすことができる
- 静的型システムがついた
- TypeScript が JavaScript に変換時、変数や関数などの型があっているかチェックする
- JavaScript の上位集合
- TypeScript では JavaScript の文法が全部使えるため
TypeScript を JavaScript に変換
tsc
コマンドを使うことで JS に変換することができるtsc TypeScriptのファイル
で変換できる
- 変換前
let hello: string = "hello";
console.log(hello);
- 変換後
- JS に変換されていることがわかった
var hello = "hello";
console.log(hello);
なぜ TypeScript を使うのか
- ドキュメントとしての側面を利用するため
- ドキュメントが半自動的に作られる
- 関数定義時に引数や戻り値の型を指定することで、ドキュメントとなり得る。
- 内容までは理解できないが、使い方までは理解できる。
- ライブラリで関数の使い方がわからなければ、定義から飛べば処理を理解することさえ出来てしまう。
- ドキュメントが半自動的に作られる
- Linter としての側面を利用するため
- Linter とは、実行前に検証してくれるツールを指す
- エディタ等で赤波線として表示されるものが Linter
- JS だと Linter を利用することが出来ないが、TypeScript なら使うことができる。
- Linter とは、実行前に検証してくれるツールを指す
- ES5 へのコンパイラとしての側面を利用するため
- 基本的には ES5 に変換する必要がある
- 新しい書き方(ES2018 や ES2019 など)あるが、ES5 が基準になるため合わせなければいけない。
- tsc で JS にコンパイル時に
tsc ファイル名 --target es2018
にすると、指定したバージョンで書き換わる。- 例:ES6 で対応している書き方について表で記載されている。
https://compat-table.github.io/compat-table/es6/
- 対応はしていないが、使えはする。
- 例:ES6 で対応している書き方について表で記載されている。
「TypeScript の型」と「JavaScript の型」
- TypeScript は TSC で型検査し JS に変換する
- JS に変換後型検査し、機械語に変換
静的型付け
- 実行前に型検査する仕組み
動的型付け
- 実行後に型検査する仕組み