Closed
Description
Suggestion
class Component<Props extends {}> {
public constructor (props: Props) {
Object.assign(this, props);
}
}
class App extends Component<{ name: string }> {
public init() {
// Property 'name' does not exist on type 'App'.ts(2339)
this.name
}
}
🔍 Search Terms
List of keywords you searched for before creating this issue. Write them down here so that others can find this suggestion more easily and help provide feedback.
✅ Viability Checklist
My suggestion meets these guidelines:
- This wouldn't be a breaking change in existing TypeScript/JavaScript code
- This wouldn't change the runtime behavior of existing JavaScript code
- This could be implemented without emitting different JS based on the types of the expressions
- This isn't a runtime feature (e.g. library functionality, non-ECMAScript syntax with JavaScript output, new syntax sugar for JS, etc.)
- This feature would agree with the rest of TypeScript's Design Goals.
⭐ Suggestion
📃 Motivating Example
💻 Use Cases
Metadata
Metadata
Assignees
Labels
No labels