開発覚書はてな版

個人的な開発関連の備忘録

【TypeScript】TypeScript 4.0 で気になった箇所

概要

  • TypeScript 4.0 のバージョンアップ内容で気になった箇所をピックアップしていきたいと思います。

devblogs.microsoft.com

Short-Circuiting Assignment Operators

  • &&=, ||=, ??= のオペレーターが追加されました。
  • 以下のソースと同様の効果があります。
a = a && b; // a &&= b;
a = a || b; // a ||= b;
a = a ?? b; // a ??= b;

unknown on catch Clause Bindings

  • catch句の変数の型を unknown 型の指定が出来るようになりました。
  • unknown型が指定出来ることで、型チェックを必須に出来ます。
try {
}
catch (e: unknown) {
   if (typeof e === 'string') {
      console.log(e.toUpperCase());
   }
}

Editor Improvements

Convert to Optional Chaining

  • エディタ上で選択した範囲をOptional Chaining形式に変換できます。

/* @deprecated / Support

  • JSDoc で @deprecated を指定することで、対象のメソッドに横線がひかれるようになります。

Partial Semantic Mode at Startup

  • Visual Studio Code でTypeScript 4.0を使用した場合、動作が速くなるようです。

Breaking Changes

Operands for delete must be optional.

  • strictNullChecks 指定時に deleteできるものはany、unknown、never、optionalなものになります。
interface Test {
    prop: string;
}

function f(x: Test ) {
    delete x.prop; // error
}