[英]typescript, bug with Partial<T>?
以下代碼引發錯誤。 但是if
確保e
不是未定義的。 這是來自 typescript 的錯誤還是正常行為? 另外,這樣做的正確方法是什么?
function Foo<T>(data: T, partialData: Partial<T>, key: keyof T) {
const e = partialData[key];
if (e)
data[key] = e;
}
Type 'T[keyof T] | undefined' is not assignable to type 'T[keyof T]'.
Type 'undefined' is not assignable to type 'T[keyof T]'.
您可以像這樣使用as T[keyof T]
來解決問題:
function Foo<T>(data: T, partialData: Partial<T>, key: keyof T) {
const e = partialData[key];
if (e)
data[key] = e as T[keyof T];
}
在這里你在操場上檢查它
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.