「TypeScript 4.5」公開!
Microsoft社は2021年11月17日(米国時間)に、オープンソース・プログラミング言語「TypeScript」の最新版、「TypeScript 4.5」を公開しました。
TypeScript 4.5では「Awaited」型の導入を初めとして、数多くの新しい機能追加、改善などがあり、プログラミングの生産性向上、パフォーマンス向上などのメリットがあります。
TypeScriptは「JavaScript」をベースとするオープンソース・プログラミング言語で、JavaScriptとは互換性を持ち、大規模開発にも適しています。
TypeScriptはJavaScriptのスーパーセット(上位互換)の位置づけにありますが、知名度ではまだJavaScriptに後れを取っています。
では、両者は何が違うのか、TypeScriptはどんなメリットを持っているのか、TypeScriptはJavaScriptに置き換わるのかなど、「TypeScriptの超入門編」として解説をしていきます。
【参考】:Announcing TypeScript 4.5
そもそも「TypeScript」とは
「TypeScript」は大規模開発向けに開発された「JavaScript」のスーパーセットです。
JavaScriptは1995年に誕生しましたが、もともと大規模開発には向いておらず、Webアプリケーション開発が活発になるにつれて、その弱点が顕在化し始めました。
何度もその対応を迫られましたが、ベンダー同士のコンセンサスには至らず、ここで「JavaScript」の進化が止まってしまったのです。
一方で、JavaScriptのコミュニティでは、その解決策が模索され続け、Microsoft社から2012年に「TypeScript」が発表されました。
TypeScriptはJavaScriptのスーパーセットとして、「モジュール性」や「型」などの特徴を備えて登場し、特に大規模開発で活用されるようになりました。Google社ではTypeScriptを6番目の社内標準言語として採用するなど、大規模開発で活用されています。
「TypeScript」の特徴
TypeScriptのTypeとは「型」のことです。言ってみればTypeScriptは「型」が付いた「JavaScript」です。
プログラミングでは型があることのメリットが大きいため、AltJS(代替JavaScript言語)の代表格としてTypeScriptの人気が高まっています。
TypeScriptで書かれたコードはJavaScriptにコンパイルされて動作するため、JavaScriptが実行できるOSやブラウザであれば、TypeScriptは問題なく利用可能です。続いて、TypeScriptの特徴を列挙してみましょう。
▪JavaScriptのスーパーセット
TypeScriptはJavaScriptに型(Type)が追加されたスーパーセット(上位互換)であるため、JavaScriptでも静的型付けを使いたい場合に代替することが可能です。
▪実行時のエラーが起きにくい
TypeScriptはタイプセーフです。 型があることでコンパイル時にエラーが分かり、実行時のエラーを回避できます。
▪型推論により型を自動決定
TypeScriptには型推論があるため、すべてに型指定をする必要がなく、プログラマのコーディング作業を軽減できます。
▪オープンソース言語
オープンソースであることから、元の実装を確認することができ、TypeScript側に問題と思われる箇所があるようであれば、自らプルリクエストを出したり、issueを立てることが出来ます。 また、TypeScriptはMicrosoft社が開発したオープンソース言語であるため、品質に対する信頼性は高いと思われます。
「TypeScript」と「JavaScript」の違い
TypeScriptはJavaScriptの進化系のプログラミング言語です。その進化した部分が両者の違いです。では、TypeScriptは何が進化したのかを見ていきましょう。
▪TypeScriptは静的型付け
JavaScriptは実行時にデータ型が自動で決められます。これを動的型付けと言い、コーディングが手軽に行える反面、実行をしてみないとエラーが見つからないという弱点があります。
一方、TypeScriptは静的型付けを採用しており、変数のデータ型をあらかじめ決めておけるため、コンパイル時にエラーを判別でき、コードが読みやすいことから大規模開発に向いています。
▪TypeScriptはJavaScriptの構文が使える
TypeScriptはJavaScriptの上位互換であるため、JavaScriptの構文が使え、JavaScriptのライブラリやフレームワークも利用可能です。
「TypeScript」のメリットとデメリット
TypeScriptの特徴を挙げましたが、この特徴によって導き出されるメリット・デメリット、それぞれを確認しておきましょう。
「TypeScript」のメリット
最初にTypeScriptのメリットを見ていきましょう。
▪コードが読みやすい
TypeScriptで型定義をすることで、定義された関数がどういった型のデータを必要としていて、どういった型のデータを返すのかが一目瞭然となります。クラスが作成できるため、JavaScriptと比べてコードの記述を大幅に簡略化できます。この結果、コードは短く読みやすくなり、既存のコードを読み込む時間が減りコーディングの負荷や無駄を軽減できます。
▪「JavaScript」との互換性が高い
TypeScriptはJavaScriptとの互換性が高いため、JavaScriptのライブラリやフレームワークを活用できる他、JavaScriptエンジニアを短期間でTypeScriptエンジニアとして戦力化できるのも強みです。
▪エラーが起きにくい
TypeScriptは静的型付け言語のため、あらかじめ変数の型を宣言できることから、コンパイル時点でエラーを排除できます。そのためJavaScriptのような実行時エラーが起きにくいのです。
▪Visual Studio が強力にサポート
「Visual Studio」や「Visual Studio Code」などのエディタは、TypeScriptの入力支援機能をサポートしており、開発効率が格段に向上します。
「TypeScript」のデメリット
TypeScriptはJavaScriptの進化系でもあり、JavaScriptと比較してデメリットは少ないです。しかし、強いてあげるならば以下が数少ないデメリットと言えます。
▪「JavaScript」エンジニアも学習が必要
JavaScriptが扱えるエンジニアでも、TypeScriptでの書き方自体を覚えるのはもちろんのこと、データ型の定義の仕方などのJavaScriptにはない機能を新たに覚える必要があります。その学習ハードルは決して高くはありませんが、TypeScriptの学習が必要な点はデメリットと言えるでしょう。
「JavaScript」ではなく「TypeScript」をすすめる理由
Webアプリケーションのフロントエンド開発では、HTMLとCSSに加えて、JavaScriptを習得しておけば、フロントエンジニアとして不足はないはずです。中には、折角JavaScriptを学んだのに、さらにTypeScriptを覚えるのは面倒だと考えるエンジニアがいるかもしれません。それでも皆さんにTypeScriptをおすすめするのは、TypeScriptが大規模開発に適した言語であること、需要が急増し、将来性が高いためです。
「TypeScript」の求人状況
TypeScriptとJavaScriptを求人数で比較してみましょう。
2022年1月6日現在の情報です。
言語 求人数 「TypeScript」 373件 「JavaScript」 1,715件
上記の通りまだまだJavaScriptの求人数には劣るものの、JavaScriptは最低限のスキルとして求められている中、TypeScriptでの開発を指定したフロントエンドエンジニア求人は徐々に増えています。
【参考】:マイナビAGENT(TypeScriptエンジニア ) 【参考】:マイナビAGENT(JavaScriptエンジニア)
「TypeScript」の将来性
TypeScriptはMicrosoftが開発した言語ですが、次第に評価が高まり、Microsoft社以外にもGoogleやBMW、VMWare社のWebページはTypeScriptで構築されるなど、フロントエンドの標準言語になりつつあります。
実際に、TypeScriptを利用したエンジニアの92%が満足しているという調査結果もあり、エンジニアの間でも既に高い評価を得ています。今回のMicrosoft社による「TypeScript 4.5」のリリースによって、その人気や需要はさらに高まるでしょう。
これを機にJavaScriptエンジニアの皆さん、フロントエンドエンジニアを目指す皆さんはぜひ「TypeScript」を習得してみてください。
【参考】:ビルドツール - State of JS 2020
編集部オススメコンテンツ
アンドエンジニアへの取材依頼、情報提供などはこちらから