javascript-this Flashcards
What is this in JavaScript?
An implicit parameter of all JavaScript functions
What does it mean to say that this is an “implicit parameter”?
It is available in a function’s code block even though it was never included in the function’s parameter list or declared with var
When is the value of this determined in a function; call time or definition time?
Call time
What does this refer to in the following code snippet?
var character = {
firstName: ‘Mario’,
greet: function () {
var message = ‘It's-a-me, ‘ + this.firstName + ‘!’;
console.log(message);
}
};
The character object
Given the above character object, what is the result of the following code snippet? Why?
character.greet();
The result would be: “It’s-a-me, Mario!” because ‘this’ refers to the object being called which has a firstName property with a value of Mario
Given the above character object, what is the result of the following code snippet? Why?
var hello = character.greet;
hello();
The result would be: “It’s-a-me, undefined!” because ‘this’ refers to the window because there is nothing to the left of hello so it defaults to the window which does not have a firstName property
How can you tell what the value of this will be for a particular function or method definition?
You can’t tell because the value of ‘this’ is only determined at call time
How can you tell what the value of this is for a particular function or method call?
By looking at the object to the left of the dot