Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Generics TypeScript:作为类型变量的当前类的类型_Generics_Typescript - Fatal编程技术网

Generics TypeScript:作为类型变量的当前类的类型

Generics TypeScript:作为类型变量的当前类的类型,generics,typescript,Generics,Typescript,我想在TypeScript中声明一个函数,该函数返回当前实例类型的类型,例如,在fluent API中,该函数返回this “此类型”是否有类型变量?(我不想使用丑陋的Java方式X)在TypeScript中还没有这样做的方法。请参阅投票/讨论问题。现在可以实现流畅的界面: class FluentInterface { aMethod(): this { return this; } } 我知道这并不完全是您想要的,但对于我的用例来说,已经足够好了: expo

我想在TypeScript中声明一个函数,该函数返回当前实例类型的类型,例如,在fluent API中,该函数返回
this


“此类型”是否有类型变量?(我不想使用丑陋的Java方式
X

在TypeScript中还没有这样做的方法。请参阅投票/讨论问题。

现在可以实现流畅的界面:

class FluentInterface {
    aMethod(): this {
        return this;
    }
}

我知道这并不完全是您想要的,但对于我的用例来说,已经足够好了:

export class Component{
  init(config?: { [field in keyof this]?: this[field] }) {
    Object.assign(this, config)
  }
}

我不确定你能不能。也许函数可以返回,您可以在return语句中返回所需的对象,然后在使用函数的代码中强制转换它?有点丑陋,我知道。在这样做之前,考虑一下它是如何打破抽象的:你需要一个接口来为它返回的具体实现做广告,而不是实现一致的契约(/接口)。这种使用将是危险的,尽管我认为在一些合法的情况下,这可能会派上用场。