[英]How to convert unknown type to string in TypeScript?
我正在處理來自外部代碼段的接口。 歸結為最低限度,它看起來像這樣:
interface Input {
details?: unknown;
}
現在我需要將 map 這個 object 變成不同的 object 類型:
interface Output {
message?: string;
}
所以unknown
必須轉換為string
。 我最初的方法是簡單地調用input.details.toString()
,但是toString
不可用,因為unknown
也可以是null
或undefined
。
如何將Input
轉換為Output
?
要將unknown
轉換為string
,您可以使用typeof
type guard 。 下面的三元表達式的類型將被推斷為string | undefined
string | undefined
:
const output: Output = {
message: typeof input.details === 'string'
? input.details
: undefined,
};
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.