TypeScript
TypeScript特有の組み込み型関数
Type challenge
TypeScript導入にあたって
JavaScriptを熟知した人間にとっては、静的型の制限があることによりJavaScriptでは簡単に実現できていた設計がTypeScriptでは困難になるという場面がある。
コンパイル時評価 or コンパイル時計算
TypeScript のコンパイル時計算はどこまでできるのか?
TypeScriptはJavaScriptへのトランスパイル時に実行時に振る舞いを変えるような最適化や評価は行いない。
そのため、コードがJavaScriptにトランスパイルされたとしても、style1とstyle3の比較やオブジェクトの作成はランタイム時(ブラウザやNode.jsでコードが実際に実行される時)に行われる。
TypeScriptの主要な役割は型チェックにある。
これはコンパイル時(具体的にはトランスパイル時)に行われ、型の不整合や他の型関連のエラーを検出できる。
これにより、実行時のエラーを減少させ、コードの品質を向上させることが期待できる。
しかし、TypeScriptはJavaScriptへのシンプルなトランスパイルを目指しており、コンパイル時の最適化や変数の評価、インライン化などの高度な最適化は行いません。そのため、TypeScriptでの評価や計算は、トランスパイル後のJavaScriptコードが実際に実行される際(ランタイム)に行われます。
これはTypeScriptがJavaScriptのスーパーセットであり、結果として出力されるJavaScriptの振る舞いや性能を直感的に理解することを目指しているためです。