Захватывающие новые возможности на горизонте
Поскольку TypeScript продолжает развиваться, мы все с нетерпением ждем последней версии — TypeScript 5.3. В этом выпуске обещают добавить несколько замечательных новых функций, которые значительно улучшат язык.
В этой статье мы рассмотрим некоторые из наиболее ожидаемых дополнений к TypeScript 5.3.
Импорт атрибутов: повышение безопасности 🛡️
import json from "./data.json" assert { type: "json" };
Атрибуты импорта, предложение TC39, достигшее этапа 3, позволяют указать тип импортируемого объекта.
Вы можете использовать его со стандартным импортом ESM, динамическим импортом, реэкспортировать модуль с проверенным типом или даже создать экземпляр работника с проверенным типом.
Основной целью здесь является безопасность – обеспечение доступа к удаленному ресурсу, соответствующему фактическому типу MIME. Благодаря этой функции TypeScript потенциальные риски безопасности, связанные с неожиданными типами MIME, снижаются.
Поддержка выражений Throw: лучшая обработка ошибок 🚀
const id = searchParams.has("id") ? searchParams.get("id") : throw new Error("ID is required");
Выражения Throw – это предложение второго этапа, цель которого – предоставить вам возможность использовать throw
в выражении, что сделает обработку ошибок более лаконичной и естественной. TypeScript пока не реализует это предложение, но они поддерживают эту идею, и как только она выйдет за рамки, они смогут начать реализовывать ее на языке.
Изолированные объявления: более быстрые монорепозитории 🏎️
{ "compilerOptions": { "isolatedDeclarations": true } }
Значительное изменение в TypeScript, направленное на ускорение монорепозиториев с глубокими деревьями зависимостей.
За счет применения более строгого кода, такого как явные типы возвращаемых данных, эта функция позволяет распараллеливать проверки и использовать несколько ядер для более быстрой компиляции.
Если поставляется в TypeScript 5.3, это будет флаг конфигурации согласия.