¿Es posible usar una variable global en el mismo archivo que se declara?
El siguiente código no arroja un error de tiempo de compilación:
declare global { const something = "something goes here"; } export default { somethingElse: something + " else" }Sin embargo, parece estar causando un error de 'variable indefinida' en el mismo archivo y en todos los demás archivos en los que lo uso.
La sintaxis de declare de TypeScript se usa para declarar variables que ya existen globalmente en el contexto de un módulo. Por ejemplo, en una aplicación web donde las variables pueden provenir de etiquetas <script> que TypeScript no conoce, dichas variables y sus tipos pueden declare para que su uso pueda verificarse.
Por lo tanto, TypeScript no le advertirá sobre something que no está definido, ya que espera que la variable ya se haya declarado en otro lugar, y su bloque de declare global {} le informe de dicha declaración.