tl; dr
'declare' wird verwendet, um dem Compiler mitzuteilen, dass 'dieses Ding (normalerweise eine Variable) bereits existiert und daher von anderem Code referenziert werden kann. Außerdem ist es nicht erforderlich, diese Anweisung in JavaScript zu kompilieren. "
Häufiger Anwendungsfall:
Sie fügen einer JavaScript-Datei, von der der Compiler nichts weiß, einen Verweis auf Ihre Webseite hinzu. Vielleicht ist es ein Skript, das von einer anderen Domain wie 'foo.com' stammt. Bei der Auswertung erstellt und widerspricht das Skript einigen nützlichen API-Methoden und weist sie dem Bezeichner 'fooSdk' im globalen Bereich zu.
Sie möchten, dass Ihr TypeScript-Code 'fooSdk.doSomething ()' aufrufen kann. Da Ihr Compiler jedoch nicht weiß, dass diese Variable vorhanden ist, wird ein Kompilierungsfehler angezeigt.
Anschließend verwenden Sie das Schlüsselwort deklarieren, um dem Compiler mitzuteilen, dass "Vertrauen Sie mir, diese Variable existiert und diesen Typ hat". Der Compiler verwendet diese Anweisung, um anderen Code statisch zu überprüfen, kompiliert ihn jedoch nicht in JavaScript in der Ausgabe.
declare const fooSdk = { doSomething: () => boolean };
Auf die gleiche Weise können Sie das Schlüsselwort declare zu Klasseneigenschaften hinzufügen, um den Compiler anzuweisen, keinen Code auszugeben, der diese Eigenschaft erstellen würde, vorausgesetzt, Sie haben Ihren eigenen Code, der sie erstellt, den der Compiler nicht kennt oder nicht versteht.
Ihr spezifisches Beispiel ist anders, da Sie einen Typ deklarieren, keine Variable. Typen werden bereits in kein JavaScript kompiliert. Ich weiß nicht, ob es einen Grund gibt, einen Typ zu deklarieren.
declare
Gibt einen Typ für eine bereits vorhandene Variable an, ohne eine neue zu deklarieren.