1. ホーム
  2. javascript

[解決済み] TypeScriptとは何ですか?なぜJavaScriptの代わりにTypeScriptを使うのですか?[クローズド]

2022-03-14 23:39:34

質問

TypeScriptとはどのような言語なのか、教えてください。

JavaScriptや利用可能なライブラリではできないことで、検討する理由となるようなことは何ですか?

どのように解決するのですか?

<ブロッククオート

この回答は、TypeScriptがまだなかったころに書いたものです。 ということです。5年経った今、この概要は問題ありませんが で Lodewijkの回答 より深く知りたい方は、以下をご覧ください。

1000フィートビュー...

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

どういう意味か理解するために、以下をご覧ください。 マイクロソフトの紹介ビデオ の言語についてです。

大規模なJavaScriptプロジェクトでは、TypeScriptを採用することで、より堅牢なソフトウェアになる可能性がありますし、通常のJavaScriptアプリケーションが動作する場所にデプロイすることも可能です。

オープンソースですが、サポートされているIDEを使用した場合のみ、入力中に賢いインテリセンスを得ることができます。当初、これはMicrosoftのVisual Studioだけだった(以下のブログ記事でも言及されている)。 ミゲル・デ・イカザ ). 最近では 他のIDEもTypeScriptをサポートしています。 .

他にも同じような技術があるのですか?

あるのは コーヒースクリプト しかし、それは本当に別の目的を果たすものです。IMHOは、CoffeeScriptは人間にとって読みやすさを提供しますが、TypeScriptもまた、深い読みやすさを ツール オプションの静的型付け(下記参照)により 最近のブログ記事 をもう少し詳しく説明します)。また ダーツ が、これはJavaScriptを完全に置き換えたものだ(ただし はJavaScriptのコードを生成することができます。 )

使用例

例として、TypeScriptを紹介します。 タイプスクリプト・プレイグラウンド )

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は、ソースマップによる直接のデバッグをサポートしています。詳しくは Stack Overflow の質問を参照してください。 Visual Studio で TypeScript コードをデバッグする

もっと知りたい?

この回答は、TypeScriptがまだ注目されていたころに書いたものです。以下のサイトをご覧ください。 Lodewijkの回答 の質問に対して、より最新の情報を提供します。