TypeScript ThisType
ThisType<T>,该工具类型比较特殊,它不是用于构造一个新类型,而是用于定义对象字面量的方法中this的类型。如果对象字面量的类型是“ThisType<T>”类型或包含“ThisType<T>”类...
ThisType<T>,该工具类型比较特殊,它不是用于构造一个新类型,而是用于定义对象字面量的方法中this的类型。如果对象字面量的类型是“ThisType<T>”类型或包含“ThisType<T>”类...
OmitThisParameter<T>,该工具类型能够从类型T中剔除this参数类型,并构造一个新类型。在使用“Omit-ThisParameter<T>”工具类型时需要启用“--strictFunctionTy...
ThisParameterType<T>,该工具类型能够获取函数类型T中this参数的类型,若函数类型中没有定义this参数,则返回unknown类型。在使用“ThisParameterType<T>”工具类型时需...
InstanceType<T>,该工具类型能够获取构造函数的返回值类型,即实例类型。示例如下: class C { x = 0; } type T0 = InstanceType<typeof C>; // C t...
ReturnType<T>,该工具类型能够获取函数类型T的返回值类型。示例如下: // string type T0 = ReturnType<() => string>; // { a: string; b...
ConstructorParameters<T>,该工具类型能够获取构造函数T中的参数类型,并使用参数类型构造一个元组类型。若类型T不是函数类型,则返回never类型。示例如下: // [string, number] typ...
Parameters<T>,该工具类型能够获取函数类型T的参数类型并使用参数类型构造一个元组类型。示例如下: type T0 = Parameters<() => string>; // [] type T1...
NonNullable<T>,该工具类型能够从类型T中剔除null类型和undefined类型并构造一个新类型,也就是获取类型T中的非空类型。示例如下: // string | number type T0 = NonNull...
Extract<T, U>工具类型与Exclude<T, U>工具类型是互补的,它能够从类型T中获取所有可以赋值给类型U的类型。示例如下: function add(): void { console.log("cool...
Exclude<T, U>,该工具类型能够从类型T中剔除所有可以赋值给类型U的类型。示例如下: type T0 = Exclude<"a" | "b" | "c", "a">; // "b" | "c" type ...