javascript - Folosești o variabilă globală în același fișier în care este declarată?


Este posibil să folosești o variabilă globală în același fișier în care este declarată?

Codul următor nu generează o eroare la compilare:

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

Totuși, se pare că provoacă o eroare de „variabilă nedefinită” în același fișier și în fiecare alt fișier în care îl folosesc.

Răspuns #1

Sintaxa declare din TypeScript este folosită pentru a declara variabile care există deja la nivel global în contextul unui modul. De exemplu, într-o aplicație web unde variabilele ar putea veni din taguri <script> despre care TypeScript nu are cunoștință, aceste variabile și tipurile lor pot fi declare astfel încât utilizarea lor să poată fi verificată la nivel de tip.

Prin urmare, TypeScript nu te-ar avertiza despre something fiind nedefinit, deoarece se așteaptă ca variabila să fi fost deja declarată în altă parte și ca blocul tău declare global {} să îl informeze despre acea declarație.