📖 Scenario: Imagine you are learning how JavaScript handles the keyword this when used outside of any function or object. This is important because this behaves differently depending on where you use it.
🎯 Goal: You will write code to see what this refers to in the global scope and print its value.
📋 What You'll Learn
Create a variable called globalThisValue and assign it the value of this in the global scope.
Create a variable called isGlobalWindow that checks if globalThisValue is the same as the global window object.
Print the value of globalThisValue.
Print the value of isGlobalWindow.
💡 Why This Matters
🌍 Real World
Understanding <code>this</code> in the global scope helps you know what object your code is referring to when you use <code>this</code> outside of functions or objects.
💼 Career
Many JavaScript jobs require understanding how <code>this</code> works to avoid bugs and write clear code, especially when working with browser APIs or frameworks.
Progress0 / 4 steps
1
Create a variable globalThisValue and assign it the value of this in the global scope
Write a line of code to create a variable called globalThisValue and set it equal to this in the global scope.
Javascript
Hint
In JavaScript, this in the global scope refers to the global object. Just write const globalThisValue = this;
2
Create a variable isGlobalWindow to check if globalThisValue is the same as window
Write a line of code to create a variable called isGlobalWindow and set it to the result of comparing globalThisValue with window using the strict equality operator ===.
Javascript
Hint
Use === to check if globalThisValue and window are exactly the same object.
3
Print the value of globalThisValue
Write a line of code to print the value of globalThisValue using console.log.
Javascript
Hint
Use console.log(globalThisValue); to print the value.
4
Print the value of isGlobalWindow
Write a line of code to print the value of isGlobalWindow using console.log.
Javascript
Hint
Use console.log(isGlobalWindow); to print the boolean result.
Practice
(1/5)
1. In JavaScript, what does this refer to when used in the global scope (outside any function) in a browser environment?
easy
A. The document object
B. The current function
C. The global object, which is window in browsers
D. Undefined
Solution
Step 1: Understand global scope context
In the global scope, this refers to the global object in JavaScript.
Step 2: Identify the global object in browsers
In browsers, the global object is window, so this points to window.
Final Answer:
The global object, which is window in browsers -> Option C
Quick Check:
this in global scope = window [OK]
Hint: Remember: global this is window in browsers [OK]
Common Mistakes:
Thinking this is undefined in global scope by default
Confusing this with the current function
Assuming this points to document
2. Which of the following is the correct way to check if this in the global scope refers to the window object?
easy
A. console.log(this === document);
B. console.log(this === window);
C. console.log(this === global);
D. console.log(this === null);
Solution
Step 1: Recall global this in browsers
In the browser global scope, this points to the window object.
Step 2: Compare this with window
Using this === window returns true if this is the global object.
Final Answer:
console.log(this === window); -> Option B
Quick Check:
this === window is true in global scope [OK]
Hint: Check this === window to confirm global this [OK]
Common Mistakes:
Using document instead of window
Using global which is Node.js specific
Comparing this to null
3. What will be the output of the following code in a browser's global scope?
In strict mode, this inside a regular function called without an object is undefined.
Step 2: Check the function call context
The function checkThis is called directly, so this is not bound to the global object.
Final Answer:
this is undefined because of strict mode inside the function -> Option A
Quick Check:
Strict mode makes this undefined in functions called globally [OK]
Hint: Strict mode sets this to undefined inside functions [OK]
Common Mistakes:
Assuming this always points to global object
Thinking strict mode causes syntax errors here
Confusing function this with global this
5. You want to create a global variable myGlobal and access it via this.myGlobal in the global scope under strict mode. Which code snippet correctly achieves this in a browser environment?
hard
A. window.myGlobal = 10; console.log(this.myGlobal);
B. let myGlobal = 10; console.log(this.myGlobal);
C. const myGlobal = 10; console.log(this.myGlobal);
D. var myGlobal = 10; console.log(this.myGlobal);
Solution
Step 1: Understand variable declaration and global object
In strict mode, variables declared with var, let, or const do not become properties of window.
Step 2: Check how to explicitly add property to global object
Assigning window.myGlobal = 10 explicitly adds myGlobal as a property of the global object.
Final Answer:
window.myGlobal = 10; console.log(this.myGlobal); -> Option A
Quick Check:
Only window.myGlobal ensures this.myGlobal exists globally [OK]
Hint: Use window.myGlobal to add global property reliably [OK]
Common Mistakes:
Using let or const expecting global this property
Assuming var always adds property to this in all contexts
Not understanding difference between variable and global object property
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.