less than 1 minute read

学んだこと

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 なら使うことができる。
  • ES5 へのコンパイラとしての側面を利用するため
    • 基本的には ES5 に変換する必要がある
    • 新しい書き方(ES2018 や ES2019 など)あるが、ES5 が基準になるため合わせなければいけない。
    • tsc で JS にコンパイル時にtsc ファイル名 --target es2018にすると、指定したバージョンで書き換わる。
      • 例:ES6 で対応している書き方について表で記載されている。https://compat-table.github.io/compat-table/es6/
      • 対応はしていないが、使えはする。

「TypeScript の型」と「JavaScript の型」

  • TypeScript は TSC で型検査し JS に変換する
  • JS に変換後型検査し、機械語に変換

静的型付け

  • 実行前に型検査する仕組み

動的型付け

  • 実行後に型検査する仕組み