Mein täglicher Job ist Client-Entwickler, der AngularJS verwendet. Wir prüfen, ob wir mit TypeScript arbeiten möchten. Ich habe einige Nachforschungen über Typoskript angestellt und fast jedes JavaScript-Paket, das ich benötige, muss Definitionstypdateien haben. Ich fand das nicht sehr praktisch, besonders wenn ich etwas Neues ausprobieren möchte und sie nicht die Definition dafür haben. Es ist wirklich frustrierend. (Selbst die aktuelle jQuery-Definition gibt mir einige Probleme, wenn ich Typoskript 1.5 Beta verwenden möchte). Ich habe angefangen, mir ES6 anzuschauen, und es sieht ähnlich aus wie TypeScript. Sollte ich stattdessen nur ES6 verwenden? Ich habe auch gehört, dass Angular 2 TypeScript voll unterstützen wird. Ist das ein Grund, warum ich dabei bleiben sollte?
quelle
declare var MyNewLibraryName: any;
verwenden Sie sie nach Belieben, ohne dass sich der Compiler beschwert.Antworten:
Ich verwende Typescript seit ungefähr anderthalb Jahren in meinem aktuellen Winkelprojekt, und obwohl es hin und wieder einige Probleme mit Definitionen gibt, leistet das DefinitelyTyped- Projekt hervorragende Arbeit, um mit den neuesten Versionen der beliebtesten Bibliotheken Schritt zu halten.
Allerdings gibt es beim Übergang von Vanille-JavaScript zu TS eine bestimmte Lernkurve, und Sie sollten die Fähigkeit von Ihnen und Ihrem Team berücksichtigen, diesen Übergang durchzuführen. Wenn Sie Angular 1.x verwenden, müssen Sie die meisten Beispiele, die Sie online finden, von JS in TS übersetzen. Insgesamt gibt es derzeit nicht viele Ressourcen für die gemeinsame Verwendung von TS und Angular 1.x. .
Wenn Sie vorhaben, Winkel 2 zu verwenden, gibt es viele Beispiele für die Verwendung von TS, und ich denke, das Team wird weiterhin den größten Teil der Dokumentation in TS bereitstellen, aber Sie müssen TS sicherlich nicht verwenden, um Winkel 2 zu verwenden.
ES6 hat einige nette Funktionen und ich persönlich habe vor, mich damit vertraut zu machen, aber ich würde es an dieser Stelle nicht als produktionsbereite Sprache betrachten. Hauptsächlich aufgrund mangelnder Unterstützung durch aktuelle Browser. Natürlich können Sie Ihren Code in ES6 schreiben und einen Transpiler verwenden, um ihn auf ES5 zu bringen. Dies scheint derzeit die beliebteste Vorgehensweise zu sein.
Insgesamt denke ich, dass die Antwort darauf zurückzuführen ist, was Sie und Ihr Team gerne lernen. Ich persönlich denke, dass sowohl TS als auch ES6 eine gute Unterstützung und eine lange Zukunft haben werden. Ich bevorzuge jedoch TS, da Sie dazu neigen, Sprachfunktionen schneller zu erhalten, und im Moment ist die Werkzeugunterstützung (meiner Meinung nach) etwas besser.
quelle
Entscheidungsbaum zwischen ES5, ES6 und TypeScript
Mehr Details
ES5 ist das JavaScript, das Sie heute im Browser kennen und verwenden. Es ist das, was es ist, und erfordert keinen Build-Schritt, um es in etwas umzuwandeln, das in den heutigen Browsern ausgeführt wird
ES6 (auch genannt ES2015 genannt ) ist die nächste Iteration von JavaScript, wird jedoch in heutigen Browsern nicht ausgeführt. Es gibt einige Transpiler, die ES5 exportieren, um es in Browsern auszuführen. Es ist immer noch eine dynamische (gelesen: untypisierte) Sprache.
TypeScript bietet ein optionales Typisierungssystem, während Funktionen aus zukünftigen Versionen von JavaScript (ES6 und ES7) abgerufen werden.
Hinweis: Mit vielen Transpilern (z. B. Babel, TypeScript) können Sie Funktionen aus zukünftigen Versionen von JavaScript heute verwenden und Code exportieren, der in den heutigen Browsern noch ausgeführt wird.
quelle