首页 > 解决方案 > 如何将打字稿 T 限制为仅 camplex 对象

问题描述

我有这个类定义

class abstract MyClass<T> { }

哪个可以用作

class MyOtherClass extends MyClass<IInterface> { }

但是,我想限制使用所有简单类型的此类:

class MyOtherClass extends MyClass<string> { } //<-- do not allow

或者

class MyOtherClass extends MyClass<nubmer> { }  //<-- do not allow

基本上我只想让 T 成为一个复杂的对象。

任何想法我如何做到这一点?

标签: typescripttypescript-generics

解决方案


您可以从对象扩展泛型类型

abstract class MyClass<T extends object> { }

操场


推荐阅读