I have this piece of code (from here), that I am trying to understand what it does:
declare global {
interface Window { analytics: any; }
}
I have seen here what declare global means.
And I have seen from this question what interface means.
I know what the window object means.
What I do not understand is what the code above means. Correct if I am wrong. The code means that the analytics variable has is now recognized as a global object of type any. Also that it has the window properties that you can access, as shown by interface Window.
Also why do we declare global{ /**variable being declared gloabal here.*/ }. Why are we using this semantic to declare a global variable. Why does the variable go inside the curly braces as opposed to something like var goat?