[英]How to convert or cast Partial<T> to T
我的代碼中有一個變量Partial<T>
。
returnPartial(): Partial<T> {}
proceed(param T) {} //<-- the input param is always type of T here, can not change that
let obj = this.returnPartial();
this.proceed(obj) //<-- error Argument of type 'Partial<T>' is not assignable to parameter of type 'T'.
在某些情況下, obj
變量實際上等於T
(按形狀)。 所以我想將其轉換/轉換為T
以將其傳遞給另一個 function。 你會怎么做?
as 關鍵字將告訴編譯器將 object 斷言為另一種類型
this.proceed(obj as T)
除了@Adrian Brand 正確答案之外,您還可以使用以下兩種不同的語法來轉換值:
interface Foo {
name: string;
}
type B = Partial<Foo>;
const b: B = {
name: 'toot',
};
function f(_: Foo) { }
// Syntax #1
f(<Foo>b);
// Syntax #2
f(b as Foo);
f(b);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.