microsoft / microsoft/TypeScript
Smarter errors around `Function.length`
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
I don't know how often other people have encountered this, but here goes: In the same vein as our uncalled function checks, most usages of Function.length are probably an error. Here's a toy example that just bit me:
declare function getResult(): string[];
for (let i = 0; i< getResult.length; i++) {
getResult().slice(0, i).map(x => console.log(x));
}
Minimally, I think we could suggest that if a function returns something with a length property, and the function's length property is inspected instead, we could probably mark it as suspect.
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 damit, die bestehenden Prüfungen auf nicht aufgerufene Funktionen im TypeScript-Compiler zu untersuchen, und verfolge dann, wie der Zugriff auf Funktionseigenschaften analysiert wird. Lege die beabsichtigten diagnostischen Grenzen für die Untersuchung von Function.length fest, wenn das Funktionsergebnis eine length-Eigenschaft besitzt, und füge Abdeckung hinzu, die zeigt, wann die Verwendung als verdächtig gilt.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- typescript
- Bereich
- compilers
- Issue-Typ
- Feature
- Schwierigkeit
- 5/5
- Geschätzter Aufwand
- Über eine Woche
- Aktivitätsstatus
- Veraltet
- Klarheit
- Muss geklärt werden
- Anfängerfreundlichkeit
- 25/100