microsoft / microsoft/TypeScript
No error when accessing setter-only properties
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- Go
- Sterne
- 111k
- Forks
- 14.3k
- Ø Merge
- 1 T. 19 Std.
- Gemergte PRs (30 T.)
- 117
Beschreibung
🔎 Search Terms
"setter only", "setter-only"
🕗 Version & Regression Information
- This behavior is present in the current version of TypeScript, 5.4.4
⏯ Playground Link
💻 Code
class Foo {
set bar(baz: string) { }
}
const foo = new Foo();
const value: string = foo.bar; // This assignment should not be allowed, foo.bar will always be undefined!
🙁 Actual behavior
There is no error reported during type-checking.
🙂 Expected behavior
The type-checking should report an error for the assignment in the last line as foo.bar will always be undefined.
Additional information about the issue
#21759 is related, but that issue proposes a whole new language feature, this issue is solely about the lack of a type error.
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 verlinkten TypeScript Playground und reproduziere die Zuweisung einer Property, die nur einen Setter besitzt, um das aktuelle Verhalten der Typprüfung zu bestätigen. Verfolge den am Lesen von foo.bar beteiligten Pfad im Type-Checker und füge Tests hinzu, die zeigen, dass das Zuweisen des Leseergebnisses zu string einen Fehler meldet, ohne das in #21759 besprochene separate Feature zu implementieren.
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
- 45/100