Facebook: Flow bringt statische Typen für Javascript

Mit Flow soll sich eine statische Typisierung in Javascript umsetzen lassen. Die Software überprüft die Typen im Hintergrund und soll die Fehlersuche sowie die Codeverwaltung deutlich vereinfachen.

Artikel veröffentlicht am ,
Facebook bringt statische Typen für Javascript.
Facebook bringt statische Typen für Javascript. (Bild: Facebook)

Javascript besitzt anders als C und C++ standardmäßig keine statischen Typen. Ob etwa ein Argument zu einer bestimmten Funktion passt, wird zur Laufzeit ermittelt und nicht durch die Typen beim Kompilieren bestimmt. Das erschwert jedoch die Fehlersuche und die Pflege oder die Optimierung von viel Javascript-Code. Das meint zumindest Facebook und stellt mit Flow nun eine statische Typenüberprüfung für Javascript bereit.

Da die Vereinigung von statischen Typen mit klassischem Javascript eher schwierig in der Umsetzung ist, verwendet Flow eine Analyse der Daten- und Kontrollflüsse, die viele Compiler benutzen, um semantische Informationen zu erhalten. Zusätzlich dazu wird die Annahme genutzt, dass der meiste Javascript-Code implizit statische Typisierung nutzt. Die Typenzugehörigkeit schlussfolgert Flow schlicht aus dem Code.

Die Typenüberprüfung geschieht dabei als Opt-in, dass heißt Nutzer können selbst entscheiden, welche Codebestandteile kontrolliert werden. Hilfreich ist das vor allem für Frameworks, die meist inhärent dynamischen Code verwenden. Diese Teile können mit Flow einfach übergangen werden. Damit unterscheide sich die Herangehensweise fundamental von anderen Typsystemen für Javascript wie etwa Typescript.

Flow unterstützt einfache Standard-Typen wie number, string, boolean, aber auch Typen-Verbunde wie für Funktionen, Objekte oder Arrays. Zudem dürfen Typen polymorph sein. Darüber hinaus wird der Typ any unterstützt, der genutzt werden kann, um das statische Typensystem in besonderen Situationen explizit zu umgehen.

Außerdem unterstützt Flow bereits viele Eigenschaften des Ecmascript6-Standards. Serverseitig benutzt Flow eine ähnliche Architektur wie Hack und überprüft verschiedene Module eines Projekts einzeln, so dass die Anwendung sehr gut skalieren können soll. Der hauptsächlich in OCaml geschriebene Code findet sich auf Github, Details zu dem Projekt bietet die Dokumentation.

Bitte aktivieren Sie Javascript.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
  • ohne Werbung
  • mit ausgeschaltetem Javascript
  • mit RSS-Volltext-Feed


Aktuell auf der Startseite von Golem.de
Automobil
Keine zwei Minuten, um einen Tesla Model 3 zu hacken

Bei der Hacking-Konferenz Pwn2Own 2023 hat ein Forschungsteam keine zwei Minuten benötigt, um ein Tesla Model 3 zu hacken. Das brachte dem Team jede Menge Geld und einen neuen Tesla ein.

Automobil: Keine zwei Minuten, um einen Tesla Model 3 zu hacken
Artikel
  1. Fiktive Szenarien und Stereotype: AfD nutzt KI-Fotos für propagandistische Zwecke
    Fiktive Szenarien und Stereotype
    AfD nutzt KI-Fotos für propagandistische Zwecke

    Politiker der Alternative für Deutschland (AfD) nutzen realistische KI-Bilder, um Stimmung zu machen. Die Bilder sind kaum von echten Fotos zu unterscheiden.

  2. Italien: Datenschutzbehörde untersagt Betrieb von ChatGPT
    Italien
    Datenschutzbehörde untersagt Betrieb von ChatGPT

    Dem ChatGPT-Entwickler OpenAI könnte eine Millionenstrafe drohen. Die GPDP bemängelt Probleme beim Jugend- und Datenschutz.

  3. Java 20, GPT-4, Typescript, Docker: Neue Java-Version und AI everwhere
    Java 20, GPT-4, Typescript, Docker
    Neue Java-Version und AI everwhere

    Dev-Update Oracle hat Java 20 veröffentlicht. Enthalten sind sieben JEPs aus drei Projekten. Dev-News gab es diesen Monat auch in Sachen Typescript, Docker und KI in Entwicklungsumgebungen.
    Von Dirk Koller

Du willst dich mit Golem.de beruflich verändern oder weiterbilden?
Zum Stellenmarkt
Zur Akademie
Zum Coaching
  • Schnäppchen, Rabatte und Top-Angebote
    Die besten Deals des Tages
    • Daily Deals • Crucial SSD 1TB/2TB bis -43% • RAM im Preisrutsch • RTX 4090 erstmals unter 1.700€ • MindStar: iPhone 14 Pro Max 1TB 1.599€ • SSDs & Festplatten bis -60% • AOC 34" UWQHD 279€ • 3 Spiele kaufen, 2 zahlen [Werbung]
    •  /