2017-12-18 8 views
0

Es wäre Modul I in einem Modul schreibeneinschränken Variablendeklaration

declare global { 
    var SomeVar: {}; 
} 

Jetzt kann jedes Modul 'someVar' globalen Variable verwenden. Ich möchte die Eingabe nur auf die aktuelle Datei beschränken.

Ist es möglich?

Antwort

1

Wenn Sie innerhalb eines Moduls sind, können Sie verwenden:

declare var SomeVar: {}; 

Und SomeVar nur innerhalb dieses Modul/Datei zur Verfügung stehen wird.

Ich muss etwas Global verweisen, die nicht von meinem Modul ist.

Wie Sie das Beispiel unten sehen können, von einem Modul genommen, können Sie sowohl SomeVarA und SomeVarB innerhalb des Moduls verwenden.

declare global { 
    var SomeVarA: {}; 
} 

declare var SomeVarB: {}; 

const a = SomeVarA; 
const b = SomeVarB; 

Beide Erklärungen eine globale Variable darstellen kann, ist der einzige Unterschied, dass SomeVarBnicht sichtbar zu anderen Modulen in Ihrem Programm ist, während SomeVarA ist.

Zum Beispiel in einem anderen Modul die folgenden ...

// OK 
const a = SomeVarA; 

// Cannot find name 'SomeVarB'. Did you mean 'SomeVarA'? 
const b = SomeVarB; 
+0

passiert muss ich etwas global verweisen, die nicht von meinem Modul ist. –

+0

Hallo @NN_ Ich habe eine erweiterte Erklärung hinzugefügt, um das zu bedecken. – Fenton