[英]typescript destructuring and implicit any
當我努力理解為什么在編譯這兩個實現時會有區別的時候,請把我轉到一些文檔中:
function getPropImplicitAny<T, K extends keyof T>(p: K, buffer: T): T[K] {
const { [p]: value } = buffer; // element implicitly has an 'any' type
// because T has not index signature
return value;
}
function getPropTyped<T, K extends keyof T>(p: K, buffer: T): T[K] {
const value = buffer[p]; // value:T[K]
return value;
}
在我看來,兩個函數對T
類型的結構及其與K
關系都了解相同。 他們兩個都通過索引語法訪問T
的成員。 但是第一個無法以嚴格模式進行編譯。 為什么?
您描述的問題已在打字稿3.2中修復。 該問題描述了您的確切問題,並且已包含在打字稿3.2中
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.