Sortie de la version bêta de TypeScript 4.2

TypeScript 4.2 Beta a été publié.

Comment obtenir

 Obtenez via NuGet ou utilisez la commande npm suivante:

npm install typescript @ beta

Il peut également être obtenu dans l'éditeur des manières suivantes:

Ce qui suit présente brièvement les nouvelles fonctionnalités de TypeScript 4.2.

  • Les éléments de repos du type primitif peuvent être placés n'importe où dans le tuple

Dans les versions précédentes, TypeScript permettait uniquement à l'élément rest d'être à la dernière position du type tuple, mais maintenant l'élément rest peut apparaître n'importe où dans le tuple, la seule restriction est tant qu'il n'y a pas d'autres éléments facultatifs ou éléments rest derrière. . En d'autres termes, il n'y a qu'un seul élément de repos par tuple et il n'y a pas d'éléments facultatifs après l'élément de repos.

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];
  • Préserver les alias de type plus intelligemment
  • L'expression littérale de modèle a déjà un type littéral de modèle

TypeScript 4.1 a introduit un nouveau type: les types littéraux de modèle. Ce type peut modéliser des modèles spécifiques de chaînes.

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

Mais dans la version 4.1, il existe d'étranges incohérences entre les types de chaîne de modèle et les expressions de chaîne de modèle. Cela est dû au fait que l'expression de chaîne de modèle n'est pas compatible avec le nouveau type de chaîne de modèle.

Ainsi, dans TypeScript 4.2, les expressions de chaîne de modèle commencent toujours par un type littéral de modèle.

  • in Effectuer des contrôles plus stricts pour les  opérateurs
  • Assouplissez les règles entre les attributs facultatifs et les signatures d'index de chaîne
  • Déclarer les fonctionnalités d'accessibilité manquantes

Voir l'annonce pour plus de détails .

Je suppose que tu aimes

Origine www.oschina.net/news/126465/typescript-4-2-beta-released
conseillé
Classement