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が正式リリースされた。