【发布时间】:2021-10-22 23:12:20
【问题描述】:
我正在尝试将 Typescript 中的代码更改为 Java。我真的对 Typescript 不太了解,并且卡在了这个功能上。我将代码简化为更简单的情况。在这种情况下,CustomType1 和 CustomType2 只是自定义“导出类型”(我在 Java 中作为类实现)。
proof(): CustomType1 | 'given' | undefined {
if (something) {
return 'given'
}
const evidence = ... //Set to a new "instance" of CustomType2
return evidence ? function(evidence) : undefined //Function returns an "instance" of CustomType1
}
然后,之前的代码会在这样的某个时间点运行
const proof = proof()
if (!proof || proof === 'given') {
//...
}
如果有人向我解释,Typescript 上的这段代码是如何工作的,我将不胜感激。
? 代表什么? proof() 函数返回什么... Customtype1 的一个实例?字符串“给定”?两个都?最后,当调用!proof 时,它代表什么?因为我在任何部分都看不到任何布尔值。
【问题讨论】:
-
这里的伪代码太多了,imo。您应该将此问题简化为我们可以自己运行的可重现示例。
-
java != javascript
-
@Rubydesic 我只需要解释一下 proof() 函数返回什么......这确实是理解 Typescript 语法的问题。但我会编辑。
-
@KarthikeyanVaithilingam 我知道...
-
请阅读 typescript 的联合类型:typescriptlang.org/docs/handbook/2/…
标签: java typescript code-translation