gpt4 book ai didi

typescript - 如何在构造之前定义可以在类上使用的属性(例如,对于工厂方法)?

转载 作者:行者123 更新时间:2023-12-04 08:41:13 25 4
gpt4 key购买 nike

示例代码:

class User {
name: String;
constructor(name: String) {
this.name = name;
}
}

User.get = (name):User => {
return new User(name);
}
使用:
// Should return User bob
var user = User.get("bob")

// Should also return User bob
var user = new User("bob")
错误:
Property 'get' does not exist on type 'typeof User'.ts(2339)
我想知道如何定义此属性,以免出现此错误。另外,是的,我知道我可以在类 User 中定义 get 函数,但由于其他原因,我希望能够在类本身上调用 get 函数。

最佳答案

声明 get (或者可能是 create )作为 User 的静态函数:

class User {

static get(name: string): User {
return new User(name);
}

name: string;

constructor(name: string) {
this.name = name;
}
}
现在, const user = User.get("bob");应该管用。我希望这很适合你问题的最后一段。

关于typescript - 如何在构造之前定义可以在类上使用的属性(例如,对于工厂方法)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64561972/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com