Выпущена бета-версия TypeScript 4.2

Выпущена бета-версия TypeScript 4.2.

Как получить

 Получите через NuGet или используйте следующую команду npm:

npm install typescript @ beta

Также его можно получить в редакторе следующими способами:

Ниже кратко представлены новые возможности 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 Выполните более строгие проверки для  операторов
  • Ослабьте правила между необязательными атрибутами и подписями индекса строки
  • Объявить об отсутствии специальных возможностей

Подробности смотрите в объявлении .

рекомендация

отwww.oschina.net/news/126465/typescript-4-2-beta-released
рекомендация