≪ Today I learned. RSS購読
公開日
更新日
タグ
TypeScript
著者
ダーシノ(@bc_rikko)

TypeScript 5.5がリリースされた

TypeScript 5.5 betaがリリースされた。

推論される型の改善

Array#filter()で除外したはずの型が残るせいで不要なキャストが必要だったのが改善された。

Before

type Item = string | undefined
const items: Item[] = []

const filtered = items.filter(a => a !== undefined)
//    ^? filtered = (string | undefined)[]  // undefinedが除外されていない
filtered.map(a => a.includes('xxx'))
                 ^^^ 'a' is possibly 'undefined'  // !!!!!

After

const filterd = items.filter(a => a !== undefined)
//    ^? filtered = string[]
filtered.map(a => a.includes('xxx'))  // エラーにならない

正規表現の構文チェック

いままでもちょっとはチェックしてくれていたけど、基本的なチェックは全部やってくれるようになった。

let myRegex = /@robot(\s+(please|immediately)))? do some task/;
// Unexpected ')'. Did you mean to escape it with backslash?

追記:2024-06-28

TypeScript 5.5が正式リリースされた。