BT

Your opinion matters! あなたのご意見でInfoQが変わる!

言語レベルのリファクタリングを備えたTypeScript 2.5がリリース

| 作者: David Iffland フォローする 3 人のフォロワー , 翻訳者 h_yoshida フォローする 0 人のフォロワー 投稿日 2017年10月20日. 推定読書時間: 2 分 |

原文(投稿日:2017/09/04)へのリンク

TypeScriptのバージョン2.5でMicrosoftが注目したのは、開発者の生産性と、コードエディタの共通機能を提供することによる機能範囲の拡大の実現である。

C#などの型付き言語に慣れた開発者は、共通的なリファクタリングを簡単に実行可能なツールの利便性を享受している。TypeScriptにも今回、コード情報を利用して、Extract FunctionExtract Methodという2つのリファクタリングを実行する機能が導入された。ただしTypeScriptは言語サービスであってエディタではない。従ってこの機能が言語サービスに追加されたというのは、すべてのエディタがこのリファクタリングを提供するサービスにフック可能になった、という意味だ。TypeScriptのプログラムマネージャであるDaniel Rosenwasser氏は、チームが言語だけではなく、開発者のエクスペリエンスを重視していると述べている

TypeScriptは編集のエクスペリエンスを念頭に開発された言語です。そのため私たちのチームでは、コンパイラや型チェッカと同時に、VS Codeのようなエディタの強化を考慮した言語サービスにも取り組んでいます。VSとVS Codeだけではありません。今回の変更は言語サービスを利用するすべてのエディタで使用可能なので、TypeScriptユーザであれば、これらの編集機能について知っておくと便利だと思います。

これらのリファクタリングは、間もなくVS CodeとVisual Studioに実装される予定だ。

さらにMicrosoftは、JSDoc型宣言の想定外の使用や不正な型参照をキャッチすることで、“クイックフィックス”のレパートリを充実させている。言語サービスとしてのクイックフィックスはTypeScript 2.1で導入されたもので、スペルやインポートの欠落、this忘れ、未使用の宣言などの修正を含む他、ロードマップにはさらに多くのフィックスが掲載済みである。

今回のリリースでは言語機能の変更は少ないが、ひとつだけ注目すべきなのはオプショナルcatch変数と呼ばれるものだ。この機能はエラーをキャッチする必要はあるが、エラーの内容について意識する必要がない場合に便利なもので、ECMAScriptの提案にも実際に含まれている。これによって以下のような、キャッチするエラーの宣言を含まないコードが記述可能になる。

try {
    const result = someMethodThatWillThrowAnException();
}
catch {
    contents = createDefaultContents();
}

TypeScriptの最新バージョンは、いつものように‘npm install -g typescript’、またはNuGetでインストールできる。

 
 

この記事を評価

採用ステージ
スタイル
 
 

この記事に星をつける

おすすめ度
スタイル

こんにちは

コメントするには InfoQアカウントの登録 または が必要です。InfoQ に登録するとさまざまなことができます。

アカウント登録をしてInfoQをお楽しみください。

あなたの意見をお聞かせください。

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする
コミュニティコメント

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

ディスカッション

InfoQにログインし新機能を利用する


パスワードを忘れた方はこちらへ

Follow

お気に入りのトピックや著者をフォローする

業界やサイト内で一番重要な見出しを閲覧する

Like

より多いシグナル、より少ないノイズ

お気に入りのトピックと著者を選択して自分のフィードを作る

Notifications

最新情報をすぐ手に入れるようにしよう

通知設定をして、お気に入りコンテンツを見逃さないようにしよう!

BT