Es wird vorgeschlagen, der JavaScript-Sprache Syntax mit Typinformationen hinzuzufügen

Microsoft, Igalia und Bloomberg haben die Initiative ergriffen, eine Syntax in die JavaScript-Spezifikation für explizite Typdefinitionen aufzunehmen, ähnlich der in der TypeScript-Sprache verwendeten Syntax. Derzeit werden die zur Aufnahme in den ECMAScript-Standard vorgeschlagenen Prototypänderungen zur Vorbesprechung eingereicht (Stufe 0). Bei der nächsten Sitzung des TC39-Komitees im März ist geplant, unter Einbeziehung der Expertengemeinschaft der ECMA in die erste Phase der Prüfung des Vorschlags überzugehen.

Durch die explizite Angabe von Typinformationen können Sie viele Fehler während des Entwicklungsprozesses vermeiden, die Verwendung zusätzlicher Optimierungstechniken ermöglichen, das Debuggen vereinfachen und den Code besser lesbar machen sowie die Änderung und Unterstützung durch Drittentwickler erleichtern. Es wird vorgeschlagen, die Typunterstützung als optionale Funktion zu implementieren. JavaScript-Engines und Laufzeiten, die keine Typprüfung unterstützen, ignorieren Anmerkungen mit Typinformationen und verarbeiten den Code wie zuvor, wobei Typdaten als Kommentare behandelt werden. Aber Tools zur Typprüfung können die verfügbaren Informationen nutzen, um Fehler zu identifizieren, die mit der falschen Verwendung von Typen verbunden sind.

Darüber hinaus wird der Code im Gegensatz zu Typinformationen, die mithilfe von JSDoc-Annotationen in Form von Kommentaren angegeben werden, durch die direkte Angabe von Typen direkt in Variablendefinitionskonstrukten visueller, verständlicher und leichter zu bearbeiten sein. Beispielsweise können IDEs mit TypeScript-Unterstützung Fehler in eingegebenem JavaScript-Code ohne zusätzliche Konvertierungen sofort hervorheben. Darüber hinaus ermöglicht die integrierte Typunterstützung die Ausführung von Programmen, die in typisierten JavaScript-Dialekten wie TypeScript und Flow geschrieben sind, ohne von einer Sprache in eine andere zu transpilieren.

Es wird vorgeschlagen, der JavaScript-Sprache Syntax mit Typinformationen hinzuzufügen

Unter den Typen wird vorgeschlagen, „string“, „number“ und „boolean“ hinzuzufügen, die beim Definieren von Variablen, Funktionsparametern, Objektelementen, Klassenfeldern und typisierten Arrays („number[]“) verwendet werden können. Es wird außerdem vorgeschlagen, Unterstützung für zusammengeführte Typen („string | number“) und generische Typen bereitzustellen. sei x: string; Funktion add(a: Zahl, b: Zahl) { return a + b; } interface Person { name: string; Alter:Anzahl; } Funktion foo (x: T) { return x; } Funktion foo(x: string | number): string | Zahl { if (typeof x === Zahl) { return x + 1 } else { return x + "!" } }

Source: opennet.ru

Kommentar hinzufügen