JavaScript Fundamentals · Objects · Lesson 20 of 48
Methods and this
Concept
Methods and this
Functions stored inside objects are called methods. The this keyword refers to the object the method belongs to.
this is determined by how a function is called, not where it's defined — calling person.greet() sets this to person, but copying that same function elsewhere can change what this refers to.
By the end of this lesson
- Explain the core idea behind Methods and this.
- Predict output before running a change.
- Test one realistic and one unusual input.
- Use the result to make the next decision.
How to study this page
- 1. Read one concept.
- 2. Change the example.
- 3. Run, compare, and explain.
- 4. Complete the challenge below.
Syntax
const objectName = {
methodName() {
return this.someProperty;
},
};ExampleRunnable
const person = {
name: "Alex",
greet() {
return "Hi, I am " + this.name;
},
};
console.log(person.greet());Try it Yourself »Arrow functions don't get their own this
const person = {
name: "Alex",
greet: () => "Hi, I am " + this.name,
};
console.log(person.greet());Note: An arrow function method inherits this from its surrounding scope instead of the object, which is why regular methods use this more predictably.
Self-check before continuing
Without looking at the example, describe what changes when you modify one input in Methods and this. Then reopen the editor and prove your explanation with a small test.
You are ready to continue when you can predict, test, and explain the result.
Your turn
Add a method to the student object that returns a formatted introduction sentence.
Loading editor…
Console