microsoft / microsoft/TypeScript

Error on static class members named 'constructor' should be consistent

Offen
#33,198 2 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Awaiting More Feedback In Discussion Suggestion
Vorherrschende Sprache
Go
Sterne
111k
Forks
14.3k
Ø Merge
1 T. 19 Std.
Gemergte PRs (30 T.)
117

Beschreibung

TypeScript Version: 3.7.0-dev.20190831

Search Terms: class, constructor, static, computed, quoted

Code

class A { static constructor() {} }
class B { static "constructor"() {} }
class C { static ["constructor"]() {} }

Expected behavior:

Even though it may be confused with non-standard extensions like #265, I think treating all cases equally would be less confusing, because unlike non-static ["constructor"] there is no difference at runtime.

Actual behavior:

A and B (with #31949) get a 'static' modifier cannot appear on a constructor declaration. diagnostic.

Playground Link:
http://www.typescriptlang.org/play/#code/MYGwhgzhAECC0G9oQC5hQS2NYB7AdqgE4CuwKuRAFAJSIC+09AUKJDAEKLJqbYBEeQilLlK-WgyatwUaAGFuqdFmgBtQQWJkKRfgF1JCRiyA

Related Issues: #31020, https://github.com/eslint/eslint/pull/12110

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Beginne damit, die Beispiele A, B und C im verlinkten TypeScript Playground zu reproduzieren, und vergleiche ihre Diagnosen. Lies das in verwandtem Issue #31949 beschriebene Verhalten und verfolge anschließend die Compilerbehandlung für statische Member namens constructor; abgeschlossen ist die Aufgabe, wenn die drei Formen wie unter Expected behavior beschrieben einheitlich behandelt werden.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
typescript
Bereich
compilers
Issue-Typ
Bug
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
35/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.