【发布时间】:2022-01-25 23:27:39
【问题描述】:
有时您需要使用并非使用 typescript 构建的包。例如,我在打开严格模式的 react + typescript 项目中使用 two.js 包。我发现很难正确键入每个变量,因为我不知道很多函数返回什么。
如果我使用any 或不提及类型,我会收到诸如变量implicitly has an 'any' type 之类的恼人错误,感觉就像我一直在与编译器斗争,而不是专注于我的工作。
许多其他语言都有一些函数/关键字,可以为您提供对象所基于的确切类/类型。但在 javascript 中,typeof 和 instanceof 完全没用,因为您只能使用它们来检查 if 对象是否属于某个类。而typeof 只是为任何自定义对象返回object。
我喜欢打字稿,但这很烦人。我该如何解决这个问题?我尝试在网上搜索,但找不到解决此问题的可靠方法。
【问题讨论】:
-
typeof 应该将类型作为字符串返回给你,只是 console.log 它不是吗?
-
@laenNoCode 不,它只是说“对象”
-
我猜它是 stackoverflow.com/questions/13613524/… 的副本,解决方案是使用“.constructor.name”
-
@laenNoCode 以及如何获取函数的返回类型?
-
也许只运行一次。有些取决于库是否是打字稿库,vscode(或其他一些编辑器)可能会为您提供它的文档。否则,请检查文档(如果有)。我就是这样做的
标签: typescript types