microsoft / microsoft/TypeScript
language service suggestion for Declare property '...' in constructor argument
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- Go
- Sterne
- 111k
- Forks
- 14.3k
- Ø Merge
- 2 T. 4 Std.
- Gemergte PRs (30 T.)
- 132
Beschreibung
Search Terms
- typescript declare property in constructor
- typescript language service declare property in constructor
Suggestion
When a non-existing property x is accessed on this in a class method, one of the fixes that ts language service currently suggests, is:
Declare property x
Which adds property x to the class.
It would be nice to also have Declare property x in constructor arguments.
It can use private access modifier by default.
Use Cases
While it's generally useful, it becomes especially handy when developing applications with DI frameworks like Angular that use constructor injection to wire dependencies together.
Examples
-
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. new expression-level syntax)
Beitragsleitfaden
Erste Schritte
- Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
- Forke das Repository und arbeite in einem Branch.
- Öffne einen Pull Request, der die Issue-Nummer nennt.
Rechercherichtung
Beginne mit dem bestehenden TypeScript language-service-Vorschlag für „Declare property x“ und verfolge dessen code-fix-Einstiegspunkt und Tests, falls vorhanden. Füge die angeforderte Alternative hinzu, x in Konstruktorargumenten zu deklarieren, wobei private der Standardmodifikator ist, und überprüfe anschließend den Vorschlag im beschriebenen Klassenmethodenfall sowie das generierte Ergebnis.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- typescript
- Bereich
- devtools
- Issue-Typ
- Feature
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Aktivitätsstatus
- Veraltet
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 35/100