Die Programmiersprache JavaScript soll um eine Syntax zur Typinformationsangabe erweitert werden.

Die Unternehmen Microsoft, Igalia und Bloomberg haben die Initiative ergriffen, eine Syntax zur expliziten Typendefinition in die JavaScript-Spezifikation aufzunehmen, die der Syntax ähnelt, die in der Sprache TypeScript verwendet wird. Derzeit ist ein Prototyp der Änderungen, die zur Aufnahme in den ECMAScript-Standard vorgeschlagen werden, zur Vorbesprechung (Stage 0) eingereicht. In der bevorstehenden Sitzung des TC39-Komitees im März soll der Vorschlag in die erste Überprüfungsphase übergehen, wobei Fachleute aus der ECMA einbezogen werden.

Eine klare Angabe von Datentypen kann viele Fehler im Entwicklungsprozess vermeiden, zusätzliche Optimierungstechniken nutzen, das Debugging erleichtern und den Code lesbarer sowie einfacher für Wartung und Erweiterung durch andere Entwickler machen. Die Typunterstützung sollte als optionale Funktion implementiert werden – JavaScript-Engines und Laufzeiten, die keine Typprüfung unterstützen, ignorieren die Typinformationen und verarbeiten den Code wie gewohnt, wobei die Typdetails als Kommentare behandelt werden. Tools zur Typprüfung können jedoch basierend auf den verfügbaren Informationen Fehler identifizieren, die mit der falschen Verwendung von Datentypen zusammenhängen.

Im Gegensatz zu den über JSDoc-Anmerkungen bereitgestellten Typinformationen, die in Kommentaren angegeben werden, macht die direkte Angabe von Typen innerhalb der Variablendefinitionen den Code übersichtlicher, verständlicher und einfacher zu bearbeiten. Entwicklungsumgebungen, die TypeScript unterstützen, können sofort Fehler im typisierten JavaScript-Code highlighten, ohne zusätzliche Umwandlungen. Außerdem ermöglicht die integrierte Unterstützung für Typen die Ausführung von Programmen, die auf typisierten Dialekten von JavaScript wie TypeScript und Flow geschrieben sind, ohne eine Transpilierung zwischen den Sprachen.

Die Programmiersprache JavaScript soll um eine Syntax zur Typinformationsangabe erweitert werden.

Из типов предлагается добавить «string», «number» и «boolean», которые можно будет использовать при определении переменных, параметров функций, элементов объектов, полей классов, типизированных массивов («number[]»). Предлагается также обеспечить поддержку объединённых типов («string | number») и дженериков. let x: string; function add(a: number, b: number) { return a + b; } interface Person { name: string; age: number; } function foo<T>(x: T) { return x; } function foo(x: string | number): string | number { if (typeof x === number) { return x + 1 } else { return x + «!» } }

Quelle: opennet.ru

Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Server 🔥 Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Server | ProHoster