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.

Stellenmarkt
  1. Storage Engineer Backup (m/w/d)
    operational services GmbH & Co. KG, Zuffenhausen
  2. Referent (m/w/d) für IT und Informationssicherheit
    PSI Software AG Geschäftsbereich PSI Energie EE, Dortmund
Detailsuche

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.

Golem Akademie
  1. IT-Sicherheit für Webentwickler
    2.-3. November 2021, online
  2. Webentwicklung mit React and Typescript
    6.-10. Dezember 2021, online
  3. Kotlin für Java-Entwickler
    14.-15. Oktober 2021, online
Weitere IT-Trainings

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
Klimaforscher
Das Konzept der Klimaneutralität ist eine gefährliche Falle

Mit der Entnahme von CO2 in den nächsten Jahrzehnten netto auf null Emissionen zu kommen, klingt nach einer guten Idee. Ist es aber nicht, sagen Klimaforscher.
Von James Dyke, Robert Watson und Wolfgang Knorr

Klimaforscher: Das Konzept der Klimaneutralität ist eine gefährliche Falle
Artikel
  1. 30.000 Menschen sahen zu: Bitcoin-Diebe lockten mit gefälschtem Apple-Livestream
    30.000 Menschen sahen zu
    Bitcoin-Diebe lockten mit gefälschtem Apple-Livestream

    Cyberkriminelle haben auf Youtube eine Keynote des Herstellers Apple vorgetäuscht, um Zuschauer um Bitcoin zu betrügen.

  2. Eco-SIM: Vodafone führt die recycelte SIM-Karte ein
    Eco-SIM
    Vodafone führt die recycelte SIM-Karte ein

    Laut Vodafone ist das Netz schon grün. Auch die SIM-Karte soll umweltfreundlich werden. Doch ganz so einfach ist es nicht.

  3. M1 Pro/Max: Dieses Apple Silicon ist gigantisch
    M1 Pro/Max
    Dieses Apple Silicon ist gigantisch

    Egal ob AMD-, Intel- oder Nvidia-Hardware: Mit dem M1 Pro und dem M1 Max schickt sich Apple an, die versammelte Konkurrenz zu düpieren.
    Eine Analyse von Marc Sauter

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 • Cyber Week: Bis zu 16% auf SSDs & RAM von Adata & bis zu 30% auf Alternate • 3 Spiele für 49€: PC, PS5 uvm. • Switch OLED 369,99€ • 6 Blu-rays für 40€ • MSI 27" Curved WQHD 165Hz HDR 479€ • Chromebooks zu Bestpreisen • Alternate (u. a. Team Group PCIe-4.0-SSD 1TB 152,90€) [Werbung]
    •  /