Dreizehn Jahre nach seiner Erstveröffentlichung zählt TypeScript zu den am häufigsten verwendeten Programmiersprachen. Durch seine Unterstützung von „Gradual Typing“ im Typsystem hat es diesen Ansatz einer breiten Anwender:innenschaft zugänglich gemacht. In dieser Arbeit legen wir Fokus darauf, wie „Gradual Typing“, eingeführt durch den „any“-Typen, in der Praxis angewandt wird. Dazu untersuchen wir, wie ebendieser Typ in öffentlichen TypeScript-Repositorys eingesetzt wird.In unserer Studie analysieren wir 151 öffentlich zugängliche TypeScript-Repositorys hinsichtlich der Verwendung des „any“-Typs und betrachten sowohl explizite als auch inferierte Verwendungen in Kontexten wie Variablendeklarationen, Eigenschaftsdeklarationen in Klassen, Funktionseingangsparametern und und Funktionsrückgabewerten. Zusätzlich untersuchen wir Übergänge zwischen schwach und stark typisierten Code sowie den Anteil der auf JavaScript-Code zurückzuführenden „any“-Verwendungen.Die Ergebnisse zeigen, dass der „any“-Typ ein fest verankertes und häufig verwendetes Feature in den untersuchten TypeScript-Repositorys ist und in allen Kontexten regelmäßig auftritt. Die Verwendungen von „any“ sind heterogen, mit deutlichen Unterschieden zwischen Kontexten und Projekten. Insgesamt konnte beobachtet werden, dass die Mehrheit der „any“-Vorkommen inferiert wird und nur ein kleiner Teil direkt auf JavaScript-Code zurückgeführt werden kann. Daraus kann geschlossen werden, dass „Gradual Typing“ und der „any“-Typ in TypeScript ein eigenes Konzept darstellt, dessen Verwendung weit über reine Kompatibilität zu JavaScript hinausgeht.
Tamara Stoiber (Mon,) studied this question.