javascript - Använd global variabel i samma fil som den är deklarerad?


Är det möjligt att använda en global variabel i samma fil som den deklareras?

Följande kod ger inte ett kompileringsfel:

declare global {
  const something = "something goes here";
}
export default {
  somethingElse: something + " else"
}

Det verkar dock orsaka ett 'undefined variable'-fel i samma fil och i varje annan fil jag använder det i.

Svar #1

TypeScripts declare-syntax används för att deklarera variabler som redan existerar globalt i kontexten av en modul. Till exempel, i en webbapplikation där variabler kan komma från <script>-taggar som TypeScript inte känner till, kan dessa variabler och deras typer declareras så att deras användning kan typkontrolleras.

Därför skulle TypeScript inte varna dig om something inte är definierad, eftersom det förväntar sig att variabeln redan har deklarerats någon annanstans, och att din declare global {}-block informerar det om nämnd deklaration.