1850

TypeScript言語とは何か説明していただけますか?

JavaScriptや利用可能なライブラリではできないことは何ができるのでしょうか。それは私にそれを検討する理由を与えるでしょう。

4

5 に答える 5

1397

私はもともと、TypeScriptがまだ熱狂的だったときにこの答えを書きました。5年後、これはOKの概要ですが、詳細については、以下のLodewijkの回答を参照してください。

1000フィートビュー...

TypeScriptはJavaScriptのスーパーセットであり、主にオプションの静的型付け、クラス、およびインターフェースを提供します。大きな利点の1つは、IDEが、コードを入力するときに一般的なエラーを見つけるためのより豊富な環境を提供できるようにすることです。

私が何を意味するのかを理解するには、この言語に関するMicrosoftの紹介ビデオをご覧ください。

大規模なJavaScriptプロジェクトの場合、TypeScriptを採用すると、通常のJavaScriptアプリケーションが実行される場所にデプロイ可能でありながら、より堅牢なソフトウェアが得られる可能性があります。

これはオープンソースですが、サポートされているIDEを使用している場合にのみ、入力時に巧妙なIntellisenseを取得できます。当初、これはMicrosoftのVisual Studioのみでした( Miguel de Icazaのブログ投稿にも記載されています)。最近では、他のIDEもTypeScriptサポートを提供しています

そのような他の技術はありますか?

CoffeeScriptがありますが、それは実際には別の目的を果たします。IMHO、CoffeeScriptは人間に読みやすさを提供しますが、TypeScriptはオプションの静的型付けによってツールに深い読みやすさも提供します(もう少し批評については、この最近のブログ投稿を参照してください)。Dartもありますが、JavaScriptの代わりになります(JavaScriptコードを生成できますが

例として、ここにいくつかのTypeScriptがあります( TypeScript Playgroundでこれを試すことができます)

class Greeter {
    greeting: string;
    constructor (message: string) {
        this.greeting = message;
    }
    greet() {
        return "Hello, " + this.greeting;
    }
}  

そしてこれがそれが生成するJavaScriptです

var Greeter = (function () {
    function Greeter(message) {
        this.greeting = message;
    }
    Greeter.prototype.greet = function () {
        return "Hello, " + this.greeting;
    };
    return Greeter;
})();

TypeScriptがメンバー変数のタイプとクラスメソッドパラメーターをどのように定義しているかに注目してください。これはJavaScriptに変換するときに削除されますが、コンストラクターに数値型を渡すなどのエラーを見つけるためにIDEとコンパイラーによって使用されます。

また、明示的に宣言されていない型を推測することもできます。たとえば、greet()メソッドが文字列を返すかどうかを判断します。

TypeScriptのデバッグ

多くのブラウザとIDEは、ソースマップを介して直接デバッグサポートを提供します。詳細については、このスタックオーバーフローの質問を参照してください:VisualStudioを使用したTypeScriptコードのデバッグ

もっと知りたい?

私はもともと、TypeScriptがまだ熱狂的だったときにこの答えを書きました。最新の詳細については、この質問に対するLodewijkの回答を確認してください。

于 2012-10-02T16:41:28.717 に答える
90

TypeScript は、less や sass が CSS に対して行うのと同様のことを行います。それらはそのスーパー セットです。つまり、記述したすべての JS コードは有効な TypeScript コードです。さらに、それが言語に追加する他の機能を使用することができ、トランスパイルされたコードは有効な js になります。結果のコードが必要な JS バージョンを設定することもできます。

現在、TypeScript は ES2015 のスーパー セットであるため、新しい js 機能の学習を開始し、プロジェクトに必要な標準にトランスパイルするのに適している場合があります。

于 2016-02-11T20:32:33.277 に答える
49

TypeScript Fundamentals」 -- Dan WahlinJohn Papaによる Pluralsight ビデオ コースは、TypeScript 1.8 を反映するように現在 (2016 年 3 月 25 日) 更新されている、Typescript の紹介です。

私にとって本当に優れた機能は、インテリセンスの優れた可能性に加えて、クラスインターフェイスモジュール、AMD の実装の容易さ、および IE で呼び出されたときに Visual Studio Typescript デバッガーを使用できる可能性です。

要約すると、意図したとおりに使用すると、Typescript は JavaScript プログラミングをより信頼性が高く、より簡単にすることができます。完全な SDLC よりも、JavaScript プログラマーの生産性を大幅に向上させることができます。

于 2015-12-27T04:18:29.533 に答える
16

すべてのブラウザーがサポートし、プリコンパイルされた Ecma スクリプト 5 (ES5)。ES6/ES2015 と ES/2016 は今年、多くの変更が加えられたため、これらの変更をポップアップ表示するには、その間に TypeScript で注意する必要があるものがあります。

• TypeScript は型 -> 各プロパティとメソッドのデータ型を定義する必要があることを意味します。C# を知っていれば、Typescript は簡単に理解できます。

• TypeScript の大きな利点は、生産に入る前に Type 関連の問題を早期に特定できることです。これにより、タイプの不一致がある場合に単体テストが失敗する可能性があります。

于 2016-06-06T12:14:00.927 に答える