2016-03-12 10 views
31

typingsツールを使用してダウンロードしたタイプ定義の説明に、「周囲」という用語が使用されています。しかし、それはどういう意味ですか?Typescript Typingsツールの "Ambient Typing"とは何ですか?

私はそれを直接的に定義したり、--ambientフラグを見つけられないようです。活字体のドキュメントから

答えて

39

周囲宣言は、活字体スコープに変数を導入するが、放出されたJavaScriptプログラムにゼロ影響を与えます。プログラマは周囲の宣言を使用して、他のコンポーネントが変数を提供することをTypeScriptコンパイラに伝えることができます。たとえば、デフォルトでは、TypeScriptコンパイラは未定義変数の使用にエラーを出力します。ブラウザーで定義された共通変数の一部を追加するために、TypeScriptプログラマーはアンビエント宣言を使用できます。

https://github.com/Microsoft/TypeScript/blob/master/doc/spec.md#1.1

もう少し簡単に言えば。アンビエント宣言は、TypeScriptコンパイラに、JavaScriptが実行されるときにTypeScriptコンパイラが現在見ることができないものが存在することを伝えます(TypeScriptではないため)。

jQueryを使用するコードを記述しているとします。 $()を書き込もうとすると、TypeScriptは宣言されていない変数$を使用しているとみなし、エラーをスローします。 declare var $のようなアンビエント宣言は、$はコンパイラには表示されませんが、JSが実行されるときに存在することをTSコンパイラに伝えます。

22

タイピングv1.0.0より、不明瞭な用語ambientchanged to globalです。

これらのタイプ定義は、プロジェクトにとって「グローバル」であると考えることができます。

関連する問題