gpt4 book ai didi

javascript - typescript 静态类

转载 作者:行者123 更新时间:2023-11-30 19:27:07 27 4
gpt4 key购买 nike

我在 typescript 中确实有一个静态类,它具有如下所示的异步构建方法:

export default class DbServiceInit {
public static myProperty: string;

public static build = async(): Promise<void> => {
try {
DbServiceInit.myProperty = "ssss";
console.log('My Static Class', DbServiceInit)
} catch (error) { console.error(error); }
}
}

当我这样调用它时:

await DbServiceInit.build();

它记录一个空类:

My Static Class class DbServiceInit {
}

任何帮助将不胜感激,因为我无法弄清楚为什么会发生这种情况,正如我所期望的那样:

My Static Class class DbServiceInit {
myProperty: 'ssss'
}

Playground link

最佳答案

请记住,在运行时,您处理的是 JavaScript,而不是 TypeScript。运行时行为会因 JavaScript 引擎以及您的 TypeScript 编译目标而异,例如~ES5 或 ~ES2015,但你显然是针对 ES2015+),关于正在使用的console 的实现,但目前还没有标准class 语法中显示静态属性的方法(一个 is coming ,但目前还没有),因此您只能看到 JavaScript 引擎可以有效表示的内容。

另外,您不是声明静态属性。您在运行时添加一个。我必须检查提议的规范文本才能确定,但​​如果类的再现仅包括声明的静态属性,而不是在运行时添加的属性,我也不会感到惊讶。

属性在那里,只是没有在序列化中显示。

关于javascript - typescript 静态类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56792918/

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