支援対象地域:札幌、仙台、関東、愛知、関西、広島、福岡


はじめに

近年Web開発においてJavascriptという言語はフロントエンドはもちろんのこと、バックエンド開発もNodeJSというランタイム環境で出来るようになるなど、年々存在感を増しており、Web開発に無くてはならない言語となってきています。
今回は、そんなJavascriptの性能を補完した「AltJS」であるTypescriptについて紹介します。

AltJSとは何か?

Typescriptについて説明する前に、Javascriptの代替言語である「AltJS」について説明しましょう。AltJSは、「Alternative Javascript」の略で、Javascriptの持つ独特な癖や不十分な点を補完し、開発の効率を向上させる目的で開発された言語です。それぞれJavascriptよりもコンパクトなコードであったり、静的型付け機能が備わっていたり、様々な特徴があります。
代表的なAltJSとしてはCoffeescriptや、Typescript、Dart といったものがあります。AltJSで記述されたコードは、それぞれのコンパイラによって最終的にJavascriptに変換され、実行されます。

Typescript とは何か?

Typescriptは、2014年にMiscrosoftによって開発されたAltJSです。Typescriptは、Javascriptが抱えていた問題を解決し、なおかつJavascriptとほぼ変わらない記述で書けるという手軽さから人気が急上昇し、2020年にStack Overflowというサイトの世界中のユーザーを対象にした調査(題:「Most Popular Technologies:最も有名な技術」)では、 マークアップ言語(HTML/CSS)、データベースのクエリ言語(SQL)、シェルスクリプトなど(Bash等)を除くと、Javascript、Python、Java、C#、PHPに続き6位という結果になりました。
最も有名な言語ランキング
さらに、同調査の「Most Loved Languages:最も愛された言語」では、Rustに続く2位という結果になりました。 最も愛されている言語ランキング

こうして見ると、2014年という比較的最近に登場した言語にもかかわらずTypescriptは世界中の開発者たちに使われ始めている言語ということがわかるでしょう。では、なぜTypescriptはここまで人気があり、愛される言語となったのでしょうか。

なぜTypescriptが使われ始めているのか?

1・静的型付け

Typescriptは静的型付け言語です。
Javascriptは動的型付け言語であり、変数、関数の引数、戻り値が、実行した時の値によって動的に変化する言語で、開発者は変数等の型を意識することなくコードを記述できるので、開発効率が向上するとして注目を浴びました。
しかし、この性質は開発者の意図しない挙動をすることがしばしばあり、エラーの発見や解消が困難になることが起こりました。そこでTypescriptは静的型付け機能を備えた、静的型付け言語として開発されました。静的型付け言語とは、変数、関数の引数、戻り値をプログラムの実行前に予め定義しておく言語です。変数等の型を予め明示的に宣言することによって、開発者の意図しない挙動を防ぐことができるため、TypescriptはJavascriptよりも堅牢なコードを記述できるようになりました。
さらに、Typescriptは「型推論機能」も備えており、変数の型を宣言しなくてもTypescriptが適切に変数の型を推論してくれます。全ての型を推論してくれるわけではありませんが、Typescriptの型推論機能の精度は高く、開発者の負担軽減につながり、開発効率の向上が望めます。

2・Null安全を備えている

Typescriptは「Null安全」な言語です。
Null安全とは、プログラムの中でNullを参照する可能性がある箇所を事前に検出してくれる機能です。Javaの「NullPointerException」がNullを参照してしまった際のエラーとして有名ですが、Null安全でない言語は、実行するまでプログラムの中にNullを参照した箇所があることがわからない時があります。
Nullを参照してしまったことによるエラーは、致命的な不具合の原因となることもあり、長年開発者の頭を悩ませてきました。TypescriptはNull安全を備えることで、コンパイル時にNullを参照する可能性のある箇所を抽出できるようになり、より安全なコードを記述できるようになりました。

3・コードエディタ、IDEとの相性が良い

TypescriptをVsCodeなどのコードエディタやIDE(統合開発環境)で記述すると型の不整合やNullを参照する可能性のある箇所をコンパイルする前に指摘してくれます。これにより、その都度コンパイルして確認する必要が無くなるため、さらなる開発効率の向上に繋がります。

4・フロントエンドフレームワークとの相性が良い

TypescriptはフロントエンドフレームワークのAngular、React、VueJSとの相性も良いです。
Google製のフレームワークであるAngularはTypescriptが標準で採用されているため、特に何も意識することなくTypescriptが使用できます。Facebook製のUIライブラリであるReactはプロジェクト開始のコマンドnpx create-react-appコマンドの後ろに --template typescript と追加だけでTypescriptを使用できるようになります。VueJSはTypescriptを使用するためには手動で設定を変更する必要はありますが、Typescriptを使用することができます。
これらのフレームワーク、ライブラリは開発サーバーの起動やビルド時に特別なコマンドを入力しなくても自動的にTypescriptからJavascriptへとコンパイルもしてくれるため、フロントエンド開発においては特に負担もなくTypescriptを導入できると言えるでしょう。

5・Javascript の記法で書ける

Typescriptは、型宣言が必要なことを除けば従来のJavascriptの記法でコードを書くことができます。型のしくみを覚えてしまえばあとはJavascriptの書き方でコードを書くことができるため、Javascriptを使用していた開発者は今まで得たJavascriptの知識を活かしたまま、Typescriptを使用することができます。

まとめ

  • ・Typescriptは、世界規模で人気上昇中の言語である
  • ・静的型付け、型推論、Null安全を備え、より安全なコードを書くことができる
  • ・Typescrptは、Javascriptの欠点を克服しつつ、従来のJavascriptの記法で書ける
いかかでしたでしょうか。Typescriptは様々な長所を備えた非常に完成度の高い言語であることがわかります。上記のランキングの顔ぶれを見ると、今後の世界のトレンドは「静的型付け、型推論、Null安全」が備わった言語の人気が出ることは間違いなさそうです。これを機に、皆さんもTypescriptを使用してみてはいかかでしょうか。