Skip to main content

Command Palette

Search for a command to run...

Understanding the this Keyword in JavaScript

Updated
5 min read
Understanding the this Keyword in JavaScript

One of the most confusing concepts for JavaScript beginners is:

this

At first, it may seem mysterious because its value changes in different situations.

But the core idea is actually simple.

In most cases:

this refers to the object that is calling the function

In this article, we’ll learn:

  • What this represents

  • this in global context

  • this inside objects

  • this inside functions

  • How calling context changes this

Let’s begin.


What Does this Mean?

The value of:

this

depends on:

How a function is called

Not where it is written.

This is the most important thing to remember.


Real-Life Analogy

Imagine a TV remote.

The same remote can control:

  • TV

  • AC

  • projector

depending on which device it is connected to.

Similarly:

this

changes depending on the caller.


this in Global Context

In the browser global scope:

console.log(this);

usually refers to:

window object

because the browser’s global object is:

window

Simple Visualization

Global Scope
     ↓
this → window

this Inside Objects

Inside an object method:

this

refers to the object calling the method.


Example

const person = {
  name: "Rahul",

  greet() {
    console.log(this.name);
  }
};

person.greet();

Output:

Rahul

Why Does It Work?

Because:

person

is calling:

greet()

So:

this → person

Caller → Function Relationship

person object
      ↓
calls greet()
      ↓
this refers to person

Another Example

const car = {
  brand: "BMW",

  showBrand() {
    console.log(this.brand);
  }
};

car.showBrand();

Output:

BMW

Again:

this

points to:

car

this Inside Normal Functions

Inside regular standalone functions:

this

behaves differently.


Example

function show() {
  console.log(this);
}

show();

In browsers, this usually refers to:

window object

Why Beginners Get Confused

Many beginners think:

this always refers to the current object

But that is not true.

Its value depends on:

The calling context

Calling Context Changes this

This is the most important rule.


Example 1

const user = {
  name: "Aman",

  print() {
    console.log(this.name);
  }
};

user.print();

Output:

Aman

Example 2

const obj = {
  name: "Rahul"
};

function show() {
  console.log(this.name);
}

obj.display = show;

obj.display();

Output:

Rahul

Why?

Because now:

obj

is calling the function.

So:

this → obj

Different Contexts of this

Situation Value of this
Global scope (browser) window
Object method Calling object
Regular function window/global object
Function called by object That object

Important Concept

Remember:

this is decided during function call, not function creation

This is a core JavaScript concept.


Common Beginner Mistakes

Confusing Variable Scope with this

Variables and:

this

are different concepts.


Thinking this Is Fixed

It changes based on:

Who calls the function

Forgetting Object Caller

Example:

person.greet()

Here:

person

is the caller.


Real-World Example

Imagine a banking app.

Example:

const account = {
  balance: 5000,

  showBalance() {
    console.log(this.balance);
  }
};

Output:

5000

The method accesses the current object’s data using:

this

Why this Is Useful

this helps objects:

✅ Access their own properties ✅ Create reusable methods ✅ Work dynamically ✅ Support object-oriented programming


Visual Summary

Caller
   ↓
Function Executes
   ↓
this points to caller

Practice Assignment

Try these exercises yourself.


1. Create an Object

Add:

  • name

  • age

  • method using this


2. Print Object Properties

Use:

this.name

inside method.


3. Create Multiple Objects

Observe how:

this

changes.


4. Try Standalone Function

Create a normal function and log:

this

Observe output.


Final Thoughts

The:

this

keyword is one of the most important JavaScript concepts.

The key idea is:

this usually refers to whoever is calling the function.

Understanding this is essential for:

  • objects

  • methods

  • classes

  • event handling

  • advanced JavaScript concepts

As you continue learning JavaScript, mastering this will help you understand how JavaScript functions and objects truly work internally.


And now, you know how the this keyword works in JavaScript.

If you have any doubt or want to connect, feel free to drop a comment — I’d be happy to help.

Thanks for reading, and see you in the next blog!

Peace ✌️ and Happy Learning!