9

Typescript と Javascript の違いは何ですか? それぞれの言語設計目標は何ですか?これらの設計目標はどのように異なりますか?

jquery などの Javascript で使用することを意図したライブラリとフレームワークは、Typescript とどの程度互換性がありますか?

いくつかの例が役に立ちます。

4

3 に答える 3

15

私はいくつかの小さな趣味のプロジェクトで typescript を使用してきましたが、それが完全な Javascript の代替品であると確信しています。私のお気に入りの機能は次のとおりです。

  • 宣言ファイル。宣言ファイルを使用すると、型情報を JavaScript ライブラリに追加できます。この構造情報により、VisualStudio で優れた Intellisense サポートが得られます。

  • 「標準」OOP。C# や Java のバックグラウンドを持っている場合は、おそらく typescript のチュートリアルさえ必要ないでしょう。それだけで機能します。クラス、インターフェース、アクセス修飾子、拡張メカニズムなどがあります...

  • モジュールの組み込みサポート。Typescript のモジュール システムはやや混乱しています。コードを複数の .ts ファイルに分割して追加するだけでなく、別のモジュールを作成することもできます。

そして最後に: 構文。小さなことが最大の影響を与えることもあります。私にとって、typescript の構文は完璧に感じられます。いくつか例を挙げましょう。

「:」による型注釈と型推論

var a = 5; //infers that a has the type number
var canvas : HTMLCanvasElement = document.getElementById("canvas"); 
// automatically casts to the canvas type. Intellisense will now suggest all the canvas specific methods

リスト、スタックなどとして機能する配列

var array= []; //dynamic type
array.push(1);
array[1]=2;
array.pop();

var array2 : number[] = []; //typed array
array[0]=2;
array[1]="hello"  //compile time error. You've got to love the type system. Finally you can trust your collections

そして、矢印構文をラムダとして使用する関数:

var array=[];
array.push(1);
//...
array.forEach((num)->{alert(num);});
//for single statement functions you can write
array.forEach((num)->alert(num));

型付き配列とラムダが組み合わされました:

var array: number[]=[];
array.push(1);
//...

//let's assume you want to work with the data in the array. You've got to filter it and process it. Lambdas will come in handy, as well as the type inference
array.filter((num)->num>3).map((num)->num*2).forEach((num)->alert(num));

// the first lambda with the comparison is fully type safe. The compiler knows the type of the array. Therefore it can infer the type of the parameter num and will check if num can be compared to a number

タイプスクリプトを使うのは本当に楽しかったです。これにより、生産性が大幅に向上します。そして、さらに多くのことが来ます:http://typescript.codeplex.com/wikipage?title=ロードマップ https://github.com/Microsoft/TypeScript/wiki/Roadmap

0.9 リリースはジェネリックを特徴とし、1.x バージョンでは async/await 呼び出しを実装する予定です。

于 2013-04-21T07:28:03.157 に答える
3

TypeScript に関するビデオのコレクションを次に示します。

http://channel9.msdn.com/search?term=typescript

基本的に、オプションの静的型付けが Javascript に追加されるため、静的型付けのすべての利点が Javascript にもたらされます。

于 2013-04-20T23:28:17.423 に答える
3

TypescriptでJQueryを使用することはかなり一般的であるため、JQueryとTypescriptは相互に排他的ではありません。Javascript よりも Typescript を使用する主な利点は、型チェックの追加です。これにより、インターフェイスを作成し、契約によって開発することができます。大規模なプロジェクトでは、型チェックを行うことが有益な場合がありますが、それは主観的な好みです。

于 2013-04-20T23:31:59.797 に答える