TypeScript-Unterstützung in modernen Browsern

70

Ich habe gerade einige Werbeinformationen zu TypeScript gelesen und außerdem habe ich keine Erfahrung mit dieser Obermenge von JavaScript. Ich habe also einige grundlegende Fragen:

  1. Wie ist der Status der nativen TypeScript-Unterstützung durch die modernen Browser?

  2. Welche Positionen haben die wichtigsten Browser-Anbieter für die zukünftige Unterstützung von TypeScript nativ?

  3. Welche Beziehung besteht zwischen TypeScript und ECMAScript6 und bietet TypeScript viel mehr Funktionen als ECMAScript6?

Fühlen Sie sich frei, auf alle oder auf die Teilmenge der Fragen zu antworten.

Artem Kharytoniuk
quelle
1
Vielleicht könnte die Frage vereinfacht werden, obwohl es immer noch klar ist, dass das Hauptproblem darin besteht, dass eine einfache Google-Suche (im Moment) keine einzelne Seite mit einer Liste von Browsern zurückgibt, die nativ
Quartz
2
Der Grund, warum diese Frage geschlossen wurde, macht überhaupt keinen Sinn. Es ist eine absolut gültige Frage, die jedem helfen würde, der versucht, Typoskript zu lernen. Für Anfänger ist es immer verwirrend und im Allgemeinen eine falsche Vorstellung, dass TypeScript im Browser ausgewertet und ausgeführt wird, da es als Superskript von Javascript erwähnt wird. Nun, es ist in einem anderen Sinne, so dass einige dieser Fragen helfen, Licht auf diese Bausteindetails zu
werfen
1
Dies ist eine ausgezeichnete Frage, auf die die Leute anscheinend noch keine Antwort haben. Ich würde mir eine Zukunft vorstellen, in der alle gängigen Browser den neuesten RFC-Standard TypeScript direkt auf Webassembly-Bytecode im laufenden Betrieb sowohl auf Webseiten als auch in der Konsole kompilieren. Bis dahin hoffe ich persönlich wirklich, dass ich keine Zeit und keine Tränen mit TypeScript-Werkzeugen verbringen muss.
Shavais

Antworten:

11

Native Unterstützung

Native Unterstützung kann ganz einfach hinzugefügt werden, z. B. https://github.com/basarat/typescript-script fügt Unterstützung für Skript-Tags hinzu (obwohl dies einer Seite 6 MB Unterstützung für JS hinzufügt). Es gibt jedoch einen Leistungseinbruch beim Kompilieren von TypeScript zu JavaScript. Für die beste Leistung ist es am besten, das kompilierte JavaScript in den Browsern vorkompilieren und auszuführen.

Browser-Anbieter haben nicht vor, native TypeScript-Unterstützung hinzuzufügen. Die einzigen in allen Browsern gebräuchlichen Muttersprachen sind JavaScript und WebAssembly. TypeScript kann entweder transpiliert und in den Browsern ausgeführt werden, sodass es kein Blocker ist.

Nicht native Unterstützung

Wie ist der Status der TypeScript-Unterstützung durch die modernen Browser?

Typescript wird in JS kompiliert, sodass es von allen Browsern (auch IE6) unterstützt wird.

Welche Positionen haben die wichtigsten Browser-Anbieter für die zukünftige Unterstützung von TypeScript?

Für Browser-Anbieter sind keine Arbeiten erforderlich.

Welche Beziehung besteht zwischen TypeScript und ECMAScript6 und bietet TypeScript viel mehr Funktionen als ECMAScript6?

Ja, zB aus zukünftigen Javascript-Versionen, z. B. Klassenfelder und statische Eigenschaften in Klassen.

Basarat
quelle
82
Das ist eindeutig klar, was Artem meinte. Die Unterstützung von TypeScript im Browser bedeutet, dass Sie TypeScript direkt auf den vom Browser geladenen Seiten verwenden können.
Ondra Žižka
32
Ziemlich. Keine Ahnung, wofür die Stack-Nerdlords diese Frage geschlossen haben, es ist völlig offensichtlich, was das OP fragt, und diese Antwort liefert keine Antwort.
Neutrino
4
Die Frage war "Wie ist der Status der NATIVE TypeScript-Unterstützung durch die modernen Browser"
orszaczky
6
NATIVEwurde hinzugefügt, nachdem ich geantwortet hatte. Und wurde von jemandem hinzugefügt, der nicht der OP ist: imgur.com/a/haFrB
basarat
11
"TypeScript sollte nicht nativ ausgeführt werden" Warum nicht? "Typescript wird in JS kompiliert, sodass es von allen Browsern unterstützt wird" Das beantwortet die Frage nicht.
Charlie
7

Der Versuch, einen Webbrowser zu entwerfen, der nativ mehr als eine Sprache gleichzeitig unterstützen kann, ist genau das, was Google mit Dart versucht hat. Es war eine Dart-Engine für Chrome geplant, aber dies war eine zu große Aufgabe mit sehr geringem Nutzen, abgesehen davon, dass "nur kein Java-Skript verwendet wird".

Ich vermute, dass die native Unterstützung von Typescript eine ebenso entmutigende Aufgabe wäre. Wahrscheinlich ist es besser, nur ECMAScript zu verbessern und ein paar TS-Ideen hinzuzufügen, wo sie sinnvoll sind. Ich liebe TS.

Matthew
quelle
1
Ich denke nicht, dass es genauso entmutigend wäre. Es scheint, dass die TS-Unterstützung erreicht werden könnte, indem Sie den vorhandenen JS-Parser erweitern, um die Sprache zu analysieren, dann einfach die TS-spezifische Syntax entfernen und den resultierenden Code auf V8 ausführen, was möglich ist, da TS eine Obermenge von JS ist. Dart ist eine völlig andere Sprache, die einen eigenen AST und eine eigene VM erfordert.
Trent Bing
4

Typoskript kann in keinem Browser ausgeführt oder verstanden werden. Typescript wird also zu Javascript kompiliert (was Browser verstehen können). Typescript kann alle ES6-Funktionen verwenden und wird während der Kompilierung in Zielkompilierungsoptionen wie ES5 konvertiert.

nithish peddi
quelle
1

Derzeit funktioniert es nicht, aber es ist ein interessantes Thema. Es wäre gut zu wissen, ob ECMAScript irgendwann Schnittstellen, Typen und andere Dinge unterstützen wird. Insbesondere, was ich feststellen kann, dass ES tatsächlich langsam einige Teile aus dem TypeScript nimmt, z. B. Aufzählungen.

Wenn es funktionieren würde, würde ich es lieber als ECMAScript betrachten, das einige Dinge aus TypeScript übernimmt, anstatt TypeScript selbst nativ zu unterstützen.

Daniel Danielecki
quelle