Выпущена бета-версия TypeScript 4.2.
Как получить
Получите через NuGet или используйте следующую команду npm:
npm install typescript @ beta
Также его можно получить в редакторе следующими способами:
- Скачать версию для Visual Studio 2019/2017
- Скачать для Visual Studio Code и версии Sublime Text
Ниже кратко представлены новые возможности TypeScript 4.2.
- Остальные элементы примитивного типа можно разместить в любом месте кортежа.
В предыдущих версиях TypeScript позволял только элементу rest находиться в последней позиции типа кортежа, но теперь элемент rest может появляться в любом месте кортежа, единственное ограничение - до тех пор, пока за ним нет других необязательных элементов или элементов rest. . Другими словами, в кортеже есть только один элемент rest, и нет дополнительных элементов после элемента rest.
let foo: [...string[], number];
foo = [123];
foo = ["hello", 123];
foo = ["hello!", "hello!", "hello!", 123];
let bar: [boolean, ...string[], boolean];
bar = [true, false];
bar = [true, "some text", false];
bar = [true, "some", "separated", "text", false];
- Интеллектуальное сохранение псевдонимов типов
- Литеральное выражение шаблона уже имеет тип литерала шаблона
TypeScript 4.1 представил новый тип: типы литералов шаблона. Этот тип может моделировать определенные образцы строк.
type GreetingStart = "hello" | "hi" | "sup";
declare function greet(str: `${GreetingStart} ${string}`): void;
// Works.
greet("hello world!");
// Works.
greet("hi everybody!");
// Error!
// Doesn't work with any of the patterns:
// `hello ${string}` | `hi ${string}` | `sup ${string}`
greet("hallo yes hi sup");
Но в версии 4.1 есть некоторые странные несоответствия между типами строк шаблона и выражениями строки шаблона. Это связано с тем, что строковое выражение шаблона несовместимо с новым типом строки шаблона.
Поэтому в TypeScript 4.2 строковые выражения шаблона теперь всегда начинаются с литерала шаблона.
in
Выполните более строгие проверки для операторов- Ослабьте правила между необязательными атрибутами и подписями индекса строки
- Объявить об отсутствии специальных возможностей