Warum verbietet TypeScript einen privaten Setter für einen öffentlichen Getter mit demselben Namen?

8

Es ist in TypeScript verboten, einen öffentlichen Getter und einen privaten Setter mit demselben Namen zu haben, wie bereits in verschiedenen Fragen hier auf SO diskutiert.

Meine Hauptprogrammiersprache ist C #, wo das völlig in Ordnung ist. Ich betrachte es auch als nützliches Konstrukt und um ehrlich zu sein, sehe ich nicht wirklich, was ein Problem sein könnte, wenn man dies auch in TypeScript erlaubt.

Warum verbietet TypeScript dies? Bei dieser Frage geht es nicht um Problemumgehungen oder Ähnliches. Ich möchte nur den Grund für dieses Design erfahren.

Bearbeiten: Ein Codebeispiel kann auf diese Frage gefunden werden.

    
theDmi 16.02.2016, 09:33
quelle

1 Antwort

5

Es gibt einen Kommentar von einem der TypeScript-Autoren: Ссылка

  

Accessors sind symmetrisch mit Eigenschaften im Typsystem. etwas   wir müssen uns in der Art manifestieren und ausdrückbar auf   Eigenschaften. Hinzufügen neuer Zugriffsmodifikatoren zum Aktivieren   private_set / public_get würde die Komplexität der Sprache erhöhen   und die Lernkurve, und der daraus gewonnene Wert würde nicht übereinstimmen   die zusätzliche Komplexität.

    
Martin Vseticka 16.02.2016 12:05
quelle

Tags und Links