首页 > 解决方案 > 如何在 Typescript 中编写 Kotlinesque 扩展函数?

问题描述

如果我有这样的情况,我会使用Kotlin :interface

interface User {
    val name: String
    val email: String
}

我可以在代码的任何地方编写这样的扩展函数:

fun User.toUserDto(): UserDto {
    TODO()
}

打字稿中,如果我有类似的interface

export default interface User {
    name: string;
    email: string;
}

我怎样才能以类似的方式增加它?这是该语言的最佳实践吗?有没有我不知道的替代方案?

标签: javascripttypescriptkotlinextension-methodsextension-function

解决方案


您可以像这样增加,但这取决于prototype属性并且没有User.prototype(也没有任何User价值)。

你也可以看到这个很长的讨论。Kotlin/C# 方法被拒绝的解释在这里


推荐阅读