Chapter 6. The this Keyword
Conceptual Overview of this and How It Refers to Objects
When a function is created, a keyword called this is created (behind the scenes), which links
to the object in which the function operates. Said another way, this is available to the scope of its function,
yet is a reference to the object of which that function is a
property/method.
Let’s take a look at the cody object from Chapter 1 again:
<!DOCTYPE html><html lang="en"><body><script>
var cody = {
living : true,
age : 23,
gender : 'male',
getGender : function() {return cody.gender;}
};
console.log(cody.getGender()); // logs 'male'
</script></body></html>Notice how inside of the getGender function, we are accessing the
gender property using dot notation
(e.g., cody.gender) on the
cody object itself. This can be rewritten using
this to access the
cody object because this points to the cody
object.
<!DOCTYPE html><html lang="en"><body><script>
var cody = {
living: true,
age: 23,
gender: 'male',
getGender: function() {return this.gender;}
};
console.log(cody.getGender()); // logs 'male'
</script></body></html>The this used in this.gender simply refers to the
cody object on which the function is operating.
The topic of this can be
confusing, but it does not have to be. Just remember that, in general,
this is used inside of functions to
refer to the object the function is contained within, as opposed to the
function itself [exceptions include using the new keyword or call() and apply()
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access