table des matières
Définition de jamais
never
D'autres types (y compris null
et undefined
) sous-type, à partir de la valeur représentative ne se produisent pas.
Il y a généralement deux manifestations de jamais:
- Lancer une exception
// 返回值为 never 的函数可以是抛出异常的情况 function error(message: string): never { throw new Error(message); }
- Impossible d'exécuter jusqu'au point final
// 返回值为 never 的函数可以是无法被执行到的终止点的情况 function loop(): never { while (true) { } }
Caractéristiques de jamais
never
Les variables de type peuvent être affectées à des variables de tout type;let num: number; num = (() => { throw new Error('exception'); })();
never
Les types de variables ne peuvent être quenever
le type de variables d'affectation.let invalid1: never; let invalid2: never; invalid1 = "Hello World!"; // error, string 类型不能转为 never 类型 invalid2 = (() => { throw new Error('exception'); })();