Global variables let you store information that many parts of your program can use. This helps share data easily across different functions or files.
Declaring global variables in Typescript
declare global {
var variableName: type;
}
// or simply
var variableName: type = value;Use declare global when adding variables to the global scope in TypeScript modules.
Using var declares a global variable if done outside any function or module.
count with the number 0.var count: number = 0;
appName as a global string variable inside a module.declare global {
var appName: string;
}
appName = "MyApp";isLoggedIn is global and can be changed inside functions.var isLoggedIn: boolean; function login() { isLoggedIn = true; }
This program declares a global variable globalMessage and prints it inside a function.
var globalMessage: string = "Hello, world!"; function showMessage() { console.log(globalMessage); } showMessage();
Global variables can be changed from anywhere, so use them carefully to avoid bugs.
Prefer const or let inside functions or blocks to limit variable scope.
In TypeScript modules, use declare global to add variables to the global scope safely.
Global variables store data accessible everywhere in your program.
Use var outside functions or declare global in modules to create globals.
Be careful with globals to keep your code easy to understand and debug.
Practice
Solution
Step 1: Understand variable scope
Global variables are those that can be accessed from any part of the program, not limited to a function or block.Step 2: Compare options
A variable accessible anywhere in the program correctly describes a global variable. Options B, C, and D describe other types or restrictions that do not match global variables.Final Answer:
A variable accessible anywhere in the program -> Option AQuick Check:
Global variable = accessible everywhere [OK]
- Confusing global with local variables
- Thinking globals are immutable
- Assuming globals are only inside classes
Solution
Step 1: Identify global declaration syntax
Usingvaroutside any function declares a global variable in TypeScript.Step 2: Analyze options
var globalVar = 10; usesvarcorrectly. let globalVar = 10; usesletwhich is block-scoped, not global. const globalVar: number; declares a constant without initialization, causing error. function globalVar() {} declares a function, not a variable.Final Answer:
var globalVar = 10; -> Option BQuick Check:
Use var outside functions for globals [OK]
- Using let or const for globals outside modules
- Declaring variables without initialization
- Confusing functions with variables
var count = 5;
function increment() {
count++;
}
increment();
console.log(count);Solution
Step 1: Understand variable scope and mutation
The variablecountis declared globally with value 5. The functionincrementincreases it by 1.Step 2: Trace code execution
Callingincrement()changescountfrom 5 to 6. Thenconsole.log(count)prints 6.Final Answer:
6 -> Option CQuick Check:
Global var incremented once = 6 [OK]
- Assuming count stays 5 after increment
- Thinking count is local inside function
- Expecting undefined due to scope confusion
export {};
declare global {
var message: string;
}
message = "Hello";
console.log(message);Solution
Step 1: Understand declare global usage
Thedeclare globalblock is used to add types to global variables but does not create or assign them.Step 2: Identify assignment error
Assigningmessage = "Hello";outside the block causes error becausemessageis only declared, not defined. You must define it separately.Final Answer:
Cannot assign to message outside declare global block -> Option DQuick Check:
declare global declares types, assignment needs separate definition [OK]
- Trying to assign inside declare global block
- Confusing declaration with definition
- Using let or const inside declare global
appName of type string in a TypeScript module and assign it the value "MyApp" so it can be used anywhere. Which is the correct way?Solution
Step 1: Declare global variable type inside module
Usedeclare globalblock to declare the variable type for global scope.Step 2: Assign value to global variable correctly
Assign the value toglobalThis.appNameto define the global variable at runtime.Step 3: Analyze options
declare global { var appName: string; } globalThis.appName = "MyApp"; correctly declares and assigns the global variable. declare global { var appName: string; } appName = "MyApp"; misses assigning toglobalThis. export var appName = "MyApp"; exports a module variable, not global. let appName: string = "MyApp"; declares a local variable.Final Answer:
declare global { var appName: string; } globalThis.appName = "MyApp"; -> Option AQuick Check:
declare global + globalThis assignment = global var [OK]
- Assigning globals without globalThis
- Using export instead of global declaration
- Declaring local variables instead of globals
Ready to prove it?
Pass the test and this pattern moves unknown
