TypeScript 5.5
Подъехал сочный релиз. Безусловно, надо вчитываться в код в анонсе, чтобы понять детали, но вот, что меня радует из новинок.
1. Inferred Type Predicates. TypeScript становится всё умнее и учится понимать из контекста, с какими типами мы работаем. Например,
Раньше такой код выдавал бы
2. Проверка синтаксиса регулярных выражений. И на опечатки укажет, и подсветит, когда с именованными группами вы работаете не так, как надо. Экономия времени полезная получится.
3. Поддержка новых методов
4. Новый флаг
5. В конфиге теперь можно пользоваться переменной
6. Сам пакет TypeScript «схуднул» на 30%. CI/CD станут быстрее.
7. Больше нельзя написать
И ещё всякое разное. Скидывайте команде, чтобы был повод завести тикет на обновление TS в проекте.
https://devblogs.microsoft.com/typescript/announcing-typescript-5-5/
Подъехал сочный релиз. Безусловно, надо вчитываться в код в анонсе, чтобы понять детали, но вот, что меня радует из новинок.
1. Inferred Type Predicates. TypeScript становится всё умнее и учится понимать из контекста, с какими типами мы работаем. Например,
const definedEntities = entities
.map(e => allEntities.get(e))
.filter(e => e !== undefined);
definedEntities.forEach(e => e.doSomething());
Раньше такой код выдавал бы
'' is possibly 'undefined'
. Сейчас TS понимает, что выше по коду все undefined
уже ушли. Можно будет убрать столько as
из кода!2. Проверка синтаксиса регулярных выражений. И на опечатки укажет, и подсветит, когда с именованными группами вы работаете не так, как надо. Экономия времени полезная получится.
3. Поддержка новых методов
Set
из EcmaScript. Там добавили всякие пересечения, исключения и прочие полезные операции не так давно. Теперь оно и в TS будет валидно обрабатываться.4. Новый флаг
--isolatedDeclarations
, который будет приучать вас более явно задавать типы для экспортируемых сущностей. Особенно полезно, если вы генерируете .d.ts
для ваших библиотек.5. В конфиге теперь можно пользоваться переменной
${configDir}
, чтобы ссылаться на папку, в которой конфиг находится. Если у вас разные конфиги в разных папках, проще будет эти самые папки перемещать по проекту.6. Сам пакет TypeScript «схуднул» на 30%. CI/CD станут быстрее.
7. Больше нельзя написать
type undefined = any;
. Честно говоря, не знал, что раньше было можно, как-то не было необходимости такие подлянки в проекты вставлять. Но теперь совсем нельзя.И ещё всякое разное. Скидывайте команде, чтобы был повод завести тикет на обновление TS в проекте.
https://devblogs.microsoft.com/typescript/announcing-typescript-5-5/