Zunächst einmal setzen Sie etwas wohl etwas dagegen, ambient und globale Typisierungen sind das gleiche, es ist einfach eine Namensänderung als globale besser ihre Funktion
Betreffs, was beschreibt sie sind ....
Globale Deklarationen, die die einfachste Definition verwenden, sind im globalen Namespace des Projekts verfügbare Typisierungen.
Ein "externes Modul" ist eine .d.ts-Datei mit einem Top-Level-Import oder -Export. Externe Module werden von Typings in eingehüllt. Deklarieren Sie das Modul '....' und nach einigen Abhängigkeitsmarkierungen enden Sie mit Deklarationen, die den globalen Namensraum des Projekts nicht verschmutzen.
Warum dies wichtig ist, können Konflikte mit Versionen und/oder doppelten Definitionen auftreten.
Paket A ist abhängig von der Version 1.4 der Abhängigkeit X Paket B 2.0 von Abhängigkeit X auf Version
Wenn die Definitionen von Paket A & Paket B sind beide global, dass der Versionskonflikt (unterschiedliche Definitionen der gleichen Abhängigkeit hängt) landen im globalen Namespace und der TypeScript-Compiler explodiert.
Es kommt alles darauf an, in welchem Umfang Sie die Deklarationen eingeben sollen.