Вышло крупное обновление для TypeScript с автодополнением кода

24.11.2021      38890

Команда разработки TypeScript представила версию языка под номером 4.5. В ней улучшена производительность технологии, расширены возможности автодополнения и упрощено переподключение библиотек.

Без потерь зависимостей

Версия TypeScript 4.5 получила новый способ для переопределения встроенной библиотеки. Он представлен как альтернатива методу интеграции JavaScript и TypeScript при помощи изменения параметра lib в tsconfig.json. Такой подход приводил к необходимости после каждого обновления TypeScript вручную вносить соответствующие изменения в файлы объединений, при этом настройка самих файлов достаточно сложная под конкретные потребности проекта.

Новый способ работает подобно методу @types. Если необходимо принять решение о том, какие данные библиотеки нужно включить, TypeScript сперва будет искать пакеты @typescript/lib-* в области видимости node_modules. После этого можно обратиться к диспетчеру и провести установку файлов, которые заменят библиотеку. Последующие обновления TypeScript не приведут к потере существующих зависимостей.

Возможности дополнения

Еще одно важное дополнение в TypeScript 4.5 – появление двух новых видов автодополнения кода. Первый упрощает работу при завершении фрагментов методов и классов. Технология при реализации метода будет создавать подпись и фигурные скобки для тела, а не только имя.

Второй тип ускоряет использование фрагментов JSX-атрибутов. Если атрибут необходимо записать в JSX-тег, разработчику будет предложено несколько готовых вариантов, что сэкономит время при наборе кода.

Другие нововведения

В новой версии TypeScript добавлен служебный тип Awaited, предназначенный для моделирования операций await в асинхронных функциях. Также он может применяться для рекурсивного развертывания promise-объектов. Этот тип хорошо подходит для моделирования существующего API, в том числе и для встроенных модулей JavaScript Promise.all и Promise.race. Нововведение устраняет проблемы логического вывода Promise.all в старой версии языка.

TypeScript прекращает выполнение кода, если обнаруживает бесконечную рекурсию или расширение типов с множественной промежуточной генерацией результатов. Это иногда приводит к нежелательным результатам, поэтому в версии 4.5 добавлен инструмент для устранения хвостовой рекурсии при вызове условных типов.

Доработана проблема, из-за которой TypeScript не мог точно определить, применяется ли импорт в коде. Новый флаг –preserveValueImports запретит удалять любые значения, которые импортировал пользователь.

Для всех операционных систем в TypeScript 4.5 появилась поддержка функции realpathSync.native в Node.js, которую до этого могли использовать только владельцы устройств на Linux. Благодаря нововведению скорость загрузки проектов на Windows и macOS возрастет на 5-13%.


Автор:
Аналитик


См. также

Новость Искусственный интеллект ИТ-Новость

В 2024 году «Сколково» выделит пилотным проектам в сфере искусственного интеллекта гранты на общую сумму 554 млн рублей. В результате отбора финансирование получат проекты с применением ИИ в областях производства, операционной деятельности и в работе предоставляемых сервисов.

12.04.2024    882    AnastasiaKl    3       

3

Новость ИТ-Новость

Пятничное: в России вступил в силу стандарт подготовки по дисциплине «спортивное программирование». В стандарт вошли требования к физическим показателям спортсменов и скорости набора текста.

16.02.2024    819    VKuser24342747    2       

1

Новость ИТ-Новость

Федеральное агентство по техническому регулированию и метрологии (Росстандарт) утвердило национальный стандарт протокола LoRaWAN RU, таким образом он получил официальный статус. Технология используется для беспроводной передачи данных между устройствами интернета вещей.

19.01.2024    605    VKuser24342747    0       

2

Новость Законодательство ИТ-Новость

12 декабря вступил в силу Федеральный закон, меняющий срок, к которому все владельцы сайтов должны внести изменения в порядок авторизации пользователей на сайте. Закон вводит переходный период до 1 января 2025 года.

20.12.2023    762    VKuser24342747    2       

1

Новость Мобильные приложения ИТ-Новость

Новая версия Android Studio под номером 2023.1 получила имя Hedgehog. Появились возможности контролировать производительность приложений и управлять подключенными устройствами.

07.12.2023    968    VKuser24342747    2       

3

Новость GitHub ИТ-Новость

GitHub собрал данные об Open Source проектах в рамках ежегодного исследования Octoverse. Компания изучила географию репозиториев, используемые языки программирования и нейросети, а также активность сообщества.

15.11.2023    612    VKuser24342747    1       

2

Новость ИТ-компания ИТ-Новость

Компания «Сбер» заявила, что будет бесплатно предоставлять доступ к API нейросети для генерации текста GigaChat для некоммерческих проектов. Однако для них будет ограничено число доступных токенов.

01.11.2023    777    VKuser24342747    2       

3

Новость ИТ-Новость Программист

Вышла новая версия Geany 2.0. Обновление затронуло внешний вид программы, расширило поддержку файлов и сторонних проектов, добавило новые способы работы с кодом.

25.10.2023    812    VKuser24342747    0       

1
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. van_za 248 25.11.21 08:17 Сейчас в теме
Переходим:)?
2. vano-ekt 124 25.11.21 08:27 Сейчас в теме
(1)с ванскрипта?
3. van_za 248 25.11.21 09:06 Сейчас в теме
(2)
Если посмотреть востребованность рынком идея кажется отличной
1 805 вакансий «Typescript»
8 вакансий «OneScript»
4. sikuda 676 26.11.21 13:19 Сейчас в теме
(3) Это же несравнимые вещи
- Onescript - язык 1С исполняемый на .Net
- Typescript - это популярный статический типизатор Javascript
portwein; +1 Ответить
Оставьте свое сообщение