Microsoft/TypeScript

【bug】ThisType is invalid when using param on generic object

開放

#52,969 建立於 2023年2月25日

 (4 則留言) (0 個反應) (0 位負責人)TypeScript (13,395 個分叉)batch import
BugDomain: This-TypingHelp Wanted

倉庫指標

星標
 (108,860 顆星)
PR 合併指標
 (PR 指標待抓取)

描述

Bug Report

🔎 Search Terms

ThisType Object Generic

🕗 Version & Regression Information

I was unable to test this on prior versions because I was not using this feature previously

⏯ Playground Link

Playground link with relevant code

💻 Code

type ILifetime = {
  onShareTimeline: () => string
}

function createObject<D>(obj: D & ILifetime & ThisType<D>) {
  console.warn(obj)
}

// working
createObject({
  title: 'demo',
  onShareTimeline() {
    return ''
  }
})

// not working
createObject({
  title: 'demo',
  onShareTimeline() {
    return this.title
  }
})

🙁 Actual behavior

The generic type is broken

🙂 Expected behavior

The generic type should contain the object properties as those are finally included into the result

貢獻者指南