Skip to content

this keyword

Daisho Komiyama edited this page Mar 16, 2024 · 10 revisions

Remembering the behavior of the this keyword can be tricky, so here's a quick reference:

Regular functions

In regular functions, the value of this is determined by the object on which the function is invoked.

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

const obj = {
  logThis
};

logThis(); // window
obj.logThis(); // obj

Arrow functions

For arrow functions, this is determined by the lexical environment in which the arrow function is defined.

const logThis = () => {
  console.log(this);
};

const obj = {
  logThis
};

logThis(); // window (where the function was defined)
obj.logThis(); // window (where the function was defined)
Clone this wiki locally