TypeScript 5.6 がリリースされた。

https://devblogs.microsoft.com/typescript/announcing-typescript-5-6/

#Disallowed Nullish and Truthy Checks

構文的に真偽チェックまたは null チェックが常に一方になる場合、いくつかのケースでエラーを出すようになった。

ESLint のno-constant-binary-expressionstrict-boolean-expressionsと似ているが、この機能は次のコードのようなユーザーによる記述ミスの発見を目的にしているように思える。

tsx
if (/0x[0-9a-f]/) {
  // Error
}
if ((x) => 0) {
  // Error
}

この機能では、条件式を変数に切り出したり、慣用的に使われるwhile(true)などに対してはエラーを出さない。

#Iterator Helper Methods

TC39 のStage 3 Iterator Helpersが実装され、イテレータにmapfiltertakeなど多くのメソッドが追加された。配列を介さずイテレータを操作できる。

また、これらのメソッドを持つイテレータオブジェクトであるIteratorObject型も追加された。