簡體   English   中英

如何轉換或投射部分<t>到 T</t>

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM