microsoft / microsoft/TypeScript

jsdoc @type is not working properly for some class method variant

Offen
#39,667 2 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Awaiting More Feedback Suggestion
Vorherrschende Sprache
Go
Sterne
111k
Forks
14.3k
Ø Merge
2 T. 4 Std.
Gemergte PRs (30 T.)
132

Beschreibung

TypeScript Version: 4.0.0-beta and 3.9.2

Search Terms: jsdoc, type, typedef, class method, typechecking

Code

// @strict: false

/**
 * @typedef {(newNumber: number) => void} SetNumberFunc
 */

class A {
    /**
     * @type {number}
     */
    a = 0;

    constructor() {
        this.a = 0;
    }

    /**
     * @type {SetNumberFunc}
     */
    setAVariant1(newNumber) {
        this.a = newNumber;
    }
}

Expected behavior: The newNumber param should have a number type when hovering on the setAVariant1 method.

Actual behavior: The newNumber param have any type when hovering on the setAVariant1 method.

Playground Link: Playground Link

Related Issues: -

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

Beginnen Sie mit der verknüpften TypeScript Playground-Reproduktion und untersuchen Sie, wie die JSDoc @type-Annotation für die Klassenmethode setAVariant1 verarbeitet wird. Vergleichen Sie den Hover-Typ von newNumber mit dem erwarteten number-Typ und überprüfen Sie, dass die Reproduktion nach Abschluss der Korrektur number statt any meldet.

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
Veraltet
Klarheit
Klar beschrieben
Anfängerfreundlichkeit
45/100

Neue Issues direkt in Ihr Postfach

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