簡體   English   中英

打字稿解構和隱式任何

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

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