Dun*_*Luk 14 javascript typescript
我正在处理来自外部代码段的接口。归结为最低限度,它看起来像这样:
interface Input {
details?: unknown;
}
Run Code Online (Sandbox Code Playgroud)
现在我需要将此对象映射到不同类型的对象:
interface Output {
message?: string;
}
Run Code Online (Sandbox Code Playgroud)
因此unknown
必须转换为string
. 我最初的方法是简单地调用input.details.toString()
,但toString
不可用,因为unknown
也可以是null
or undefined
。
我如何转变Input
为Output
?
Dun*_*Luk 13
要转换unknown
为string
您可以使用typeof
类型保护。下面的三元表达式的类型将被推断为string | undefined
:
const output: Output = {
message: typeof input.details === 'string'
? input.details
: undefined,
};
Run Code Online (Sandbox Code Playgroud)