microsoft / microsoft/TypeScript

No error for undeclared #private property in `.js` files

Offen
#35,962 8 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Bug Domain: JavaScript Effort: Moderate Help Wanted Needs Human Review
Vorherrschende Sprache
Go
Sterne
111k
Forks
14.3k
Ø Merge
2 T. 4 Std.
Gemergte PRs (30 T.)
132

Beschreibung

class Thing {
    /**
     * @param prop {string}
     */
    constructor(prop) {
        this.#prop = prop;
    }
}

This class assigns to #prop, but it's an error to use #prop without declaring it.

This is reported as a SyntaxError, so this should report an error even outside of checkJs.

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 bereitgestellte JavaScript-Klasse mit dem TypeScript-Compiler zu reproduzieren, sowohl mit aktiviertem als auch mit deaktiviertem checkJs. Verfolge, wie der Compiler Zuweisungen an private Eigenschaften behandelt, und füge einen Regressionstest für den Fall mit nicht deklariertem #prop hinzu. Erledigt ist die Aufgabe, wenn die Diagnose in .js-Dateien auch dann gemeldet wird, wenn checkJs deaktiviert ist.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
javascript, typescript
Bereich
compilers
Issue-Typ
Bug
Schwierigkeit
3/5
Geschätzter Aufwand
1-2 Tage
Aktivitätsstatus
Aktiv
Klarheit
Klar beschrieben
Anfängerfreundlichkeit
68/100

Neue Issues direkt in Ihr Postfach

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