SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

CodeZineニュース

Microsoft、プログラミング言語「TypeScript 5.0」を正式に公開、デコレーターが標準機能に

  • このエントリーをはてなブックマークに追加

  • このエントリーをはてなブックマークに追加

 米Microsoftは、プログラミング言語「TypeScript」の最新版「TypeScript 5.0」を3月16日に正式に公開した。TypeScriptは、Apache License 2.0で公開しているオープンソース・ソフトウェア。

 「TypeScript 5.0」では、「デコレーター(Decorators)」の機能に正式に対応するようになった。デコレーターは、クラスの実装をほとんど変更することなく、クラスやフィールド、メソッドなどを拡張、上書きする外部関数を利用可能にする機能。一般に言うDI(Dependency Injection:依存性の注入)を実現する機能だ。

 デコレーター関数を利用するには、デコレーター関数を実装してから、クラスを実装したコード内のフィールドやメソッドを記述した部分の直前で「@関数名」と記述すれば良い。デコレーターの機能を利用して、クラスやフィールド、メソッドの機能を拡張、上書きするコードを外部関数として分離することで、再利用しやすくなる。

 以前のバージョンでもデコレーターは使用可能だったが、「実験的」な位置付けにとどまっており、使用するにはコンパイラ実行時に「--experimentalDecorators」というスイッチを付ける必要があった。今回のバージョンからはこのスイッチが不要になり、標準でデコレータを使えるようになった。

 デコレーターはECMAScriptでも仕様が定義されている。ECMAScriptでは仕様を定義する際に、「Stage 0(Strawman)」から始まって、「Stage 1(Proposal)」「Stage 2(Draft)」「Stage 3(Candidate)」「Stage 4(Finished)」という5つの段階を踏む。前バージョンまでのTypeScriptが実験的に対応していたデコレーターは「Stage 2(Draft)」の段階にあるものであったが、TypeScript 5.0が標準で対応するようになったデコレーターは「Stage 3(Candidate)」に到達したものになる。

 そして、Stage 2のデコレーターと、Stage 3のデコレーターの間には互換性がない。そのため、以前のバージョンのTypeScriptでデコレーターを使用していた開発者は、新バージョンではデコレーターを修正する必要がある。

 また以前のバージョンでは、ECMAScript 2015仕様の準拠しながら、一部の新機能をに対応したものだったが、TypeScript 5.0ではECMAScript 2018に準拠するようになった。その結果、Node.jsのバージョン12.20以降に対応することになった。

 TypeScript 5.0では、ほかにも多くの新機能が加わっているほか、ビルドにかかる時間を短縮している。

関連リンク

この記事は参考になりましたか?

  • このエントリーをはてなブックマークに追加
この記事の著者

CodeZine編集部(コードジンヘンシュウブ)

CodeZineは、株式会社翔泳社が運営するソフトウェア開発者向けのWebメディアです。「デベロッパーの成長と課題解決に貢献するメディア」をコンセプトに、現場で役立つ最新情報を日々お届けします。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/17561 2023/03/20 13:15

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング