Lanzamiento de TypeScript 4.2 Beta

Se ha lanzado TypeScript 4.2 Beta.

Como obtener

 Obtenga a través de NuGet o use el siguiente comando npm:

npm install mecanografiado @ beta

También se puede obtener en el editor de las siguientes formas:

A continuación, se presentan brevemente las nuevas funciones de TypeScript 4.2.

  • Los elementos de descanso del tipo primitivo se pueden colocar en cualquier lugar de la tupla

En versiones anteriores, TypeScript solo permitía que el elemento rest estuviera en la última posición del tipo de tupla, pero ahora el elemento rest puede aparecer en cualquier lugar de la tupla, la única restricción es siempre que no haya otros elementos opcionales o elementos de descanso detrás. . En otras palabras, solo hay un elemento rest por tupla y no hay elementos opcionales después del elemento 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];
  • Conserva los alias de tipo de forma más inteligente
  • La expresión literal de plantilla ya tiene un tipo de literal de plantilla

TypeScript 4.1 introdujo un nuevo tipo: tipos de literales de plantilla. Este tipo puede modelar patrones específicos de cadenas.

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");

Pero en 4.1, hay algunas incoherencias extrañas entre los tipos de cadena de plantilla y las expresiones de cadena de plantilla. Esto se debe a que la expresión de cadena de plantilla no es compatible con el nuevo tipo de cadena de plantilla.

Entonces, en TypeScript 4.2, las expresiones de cadena de plantilla ahora siempre comienzan con un tipo de literal de plantilla.

  • in Realice controles más estrictos para los  operadores
  • Relajar las reglas entre atributos opcionales y firmas de índice de cadena
  • Declarar funciones de accesibilidad que faltan

Vea el anuncio para más detalles .

Supongo que te gusta

Origin www.oschina.net/news/126465/typescript-4-2-beta-released
Recomendado
Clasificación