JavaScriptの需要とともに型、オブジェクト指向を持つTypeScriptの人気が上がってきています。
今回は『次来るかもしれない!?TypeScript』について語っちゃいますmm
TypeScriptとは
TypeScriptは型やオブジェクト指向を持つJavaScript言語のようなものです。
TypeScriptのコード拡張子は「.ts」です。「.ts」ファイルを直接実行することはできないため、これをトランスコンパイルし、JavaScriptファイルである「.js」に変換します。
2度変換するのは少々面倒ですよね(笑)
TypeScriptは2種類の目的が存在する
TypeScriptは2種類のトランスコンパイラ方法があります。
❶ブラウザで動作させるJavaScriptファイルを生成するため
❷node.jsで動作させるJavaScriptファイルを生成するため
ブラウザでのJavaScriptで有名な命令でwindows.alertがあります。
これを実行するとブラウザ上でアラート(警告)が表示されます。
しかし、node.jsはブラウザを介せず、
PC上で動作するためwindows.alertコマンドは理解できません。
TypeScriptを利用する場合は実行環境が『ブラウザ』か『node.js』なのか理解しておく必要があります。
Typescriptメリット
JavaScriptは現代のアセンブラと呼ばれるほど難解な言語です。
原因は型指定が存在しないことにあります。
変数に整数型、文字型、オブジェクト型、変数まで何でも入っちゃうんですよね(笑)。
変数にパラメータを渡すときにも
・何を渡せばよいのか
・必須変数は何なのか
『API仕様書を読む』か『無ければコードを読む』しかありません。
しかしTypeScriptにより型を明確にすることにより、
それらの無駄な作業時間がなくなります。
また型が正確に指定していると、VS Codeなどでコーディングする際に補完機能が働きタイプミスやパラメータミスなど初歩的なバグを無くす事ができ、開発効率も上がります。
メリットを一言でいうならば「開発効率が超絶UP」につきます。
環境構築が必要な分、スロースターターですが、それに有り余るほどの見返りがあります。
tsconfig.jsonのメモ
{"compilerOptions":{"target":"ES2019",/*ECMAScriptのターゲットバージョンを指定します:'ES3'(デフォルト),'ES5','ES2015','ES2016','ES2017','ES2018'または'ESNEXT'*/"module":"commonjs",/*モジュールコード生成:'none','commonjs','amd','system','umd','es2015',または'ESNext'を指定します。*/"strict":true,/*すべての厳密な型チェックオプションを有効にします。*/"noImplicitAny":true,/*暗黙の'any'型で式と宣言のエラーを発生させます。*/"strictNullChecks":true,/*厳密なヌルチェックを有効にします。*/"noImplicitThis":true,/*暗黙の'any'型で'this'式のエラーを発生させます。*/"esModuleInterop":true/*デフォルトのエクスポートがないモジュールからのデフォルトのインポートを許可します。これはコードの出力には影響しません。型検査だけです。*/}}