microsoft / microsoft/TypeScript
【bug】ThisType is invalid when using param on generic object
Nadie ha tomado este issue todavía.
- Lenguaje dominante
- Go
- Estrellas
- 111k
- Forks
- 14.4k
- Merge medio
- 1 d 19 h
- PR fusionados (30 d)
- 117
Descripción
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
Guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Línea de trabajo
Comienza con el TypeScript Playground enlazado y el ejemplo genérico createObject, comparando el callback que funciona con la versión que lee this.title. Investiga cómo se aplica ThisType durante el tipado contextual de objetos genéricos; se considera terminado cuando el tipo de objeto inferido incluye title y el callback puede devolver this.title sin errores.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- typescript
- Área
- compilers
- Tipo de issue
- Error
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Estado de actividad
- Estancado
- Claridad
- Bastante claro
- Aptitud para principiantes
- 25/100