2016-09-24 4 views
1

公式文書の次の文は、Typescript moduleについてはわかりません。動作するようにこのパターンのタイプ位置にシンボルを使用する方法は?

、それは を介して定義されたシンボルをインポートのみタイプの位置で使用されていることが重要だ(すなわち決してJavaScriptの中に放出されることになる位置 で)。

Question1:

"タイプの位置" とは何ですか?どのように変数が型の位置で使用されますか?だから、非タイプのポジションは何ですか?

Question2:

"Javascriptのににemmiting" は何?あなたは例を挙げていただけますか?私はこのコンセプトをインスタンス化できませんでした。

+0

ニース: "私はこの概念をインスタンス化できませんでした。"私はそれを自分で使う必要があります。 –

答えて

1

TypescriptはJavaScriptにコンパイルされ、コンパイラが型の一貫性を静的に分析するのを助けるために型名を使用する言語です。

概念的には、Typescriptコードには2つの部分があります:JavaScriptには存在しない型注釈と、トランスビルドされたコードに何らかの形で存在するトランスビルドされたコードです。

例えば、ここでは愚かな活字体のプログラムです:

interface Foo { 
    myNumber: number; 
    myString: string; 
} 

function aFunc(foo: Foo) { 
    return foo.myString; 
} 

let foo: Foo = { 
    myNumber: 9, 
    myString: 'Hola!' 
}; 

そしてtscを通してそれを実行しているが、あなたにこれを与える:

function aFunc(foo) { 
    return foo.myString; 
} 
var foo = { 
    myNumber: 9, 
    myString: 'Hola!' 
}; 
console.log(aFunc(foo)); 

あなたはインタフェース宣言し、残りの型注釈が行うことを見ることができますコンパイルされたコードには存在しませんが、他の部分はそのまま存在します。削除されたコードの

部分は、型位置にあり、残りのコードは、コード位置です。これはあなたの最初の質問に答えます。

明示的に2番目の質問に答えるには、* .tsファイルにtscを実行すると、上の例のように* .jsファイルが出力されます。

+0

タイプの位置は可変であるか、またはタイプで宣言された関数です。数字、文字列、またはカスタマイズされたインターフェイスタイプ。 –

+0

その後、すべてがjavascriptに出力されます。なぜ、「JavaScriptに放出されるポジションには決してない」と言われるのですか? –

+0

すべてがJavascriptに放出されるわけではありません。型の位置にあるものは放出されません。コード位置のみが出力されます。 –

関連する問題