TOPSoftware > 大規模開発に適した言語、TypeScriptとは何か(後)

Software

大規模開発に適した言語、TypeScriptとは何か(後)

2017/11/30

Jon Udell InfoWorld

 TypeScriptは、JavaScriptの代替言語の1つだ。その生みの親は、Turbo PascalやC#の考案者でもあるAnders Hejlsberg氏。同氏が率いる形で米Microsoftが立ち上げた重要なプロジェクトは、すでに恩恵をもたらし、今後に向けて着実に前進している。

前回から続く)

 「型のオン/オフを切り替えるスイッチではなく、ダイヤルを手にしている」とHejlsberg氏は説明する。段階的に取り組みを進めることで、段階的に見返りが得られる。アノテーションを加えると、コードに対する開発者本人の判断力が高まるし、その判断を支えるツールの自動支援機能を強化できる。

 また、可能であれば型を推論するようTypeScriptのコンパイラが試みることから得られる相乗効果もある。例えば、関数の戻り値が文字列だと指定した場合、コンパイラは、その関数の結果を保持する変数も文字列型だと判断できる。たとえその変数に文字列型のアノテーションを指定していなかったとしてもだ。後でその変数に数値を代入しようとすると、コンパイラが警告を出す。

 筆者の場合は、最初にTypeScriptに取り組んだ時には、コードのプリミティブ型をすべてチェックしたうえで、プリミティブ型で構成されるJavaScriptのオブジェクトにならった簡単なクラスを作成してみた。こうした複数のメンバーを持つオブジェクトに型アノテーションを追加したところ、Visual Studioでそのメンバーがコード補完の対象となった。これらのオブジェクトをパラメータとして受け取ったり返したりする関数は、自己記述的かつ自己検査的になった。このコード認識もプログラム全体に反映される。JavaScriptでは、戻り値を変数に代入する時に、それが想定した型なのかどうかは自明ではない。こうした不確実性は、大きな混乱とエラーを生む。そういう状況は避けたいところだ。

Twitterもチェック

↑ページ先頭へ