Javascript-this Flashcards

1
Q

What is ‘this’ in JavaScript?

A

‘this’ is an implicit parameter of all JavaScript functions.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

What does it mean to say that ‘this’ is an “implicit parameter”?

A

It is available in a function’s code block even though it was never included in the function’s parameters list or declared with ‘var’.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

When is the value of this determined in a function; call time or definition time?

A

call time

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q
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);
  }
};
A

Do not know yet. The value of ‘this’ can only be determined during call time (not during a function definition).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Given the above character object, what is the result of the following code snippet? Why?
character.greet();

A

Result = “It’s-a-me, Mario!” because ‘this’ refers to the object being called. The object firstName property has the value of Mario.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q
Given the above character object, what is the result of the following code snippet? Why?
var hello = character.greet;
hello();
A

Result = “It’s-a-me, undefined!” because ‘this’ refers to the window (hello is not a property of an object, therefore default object would be the window object). Window object does not have the property firstName so therefore, ‘this.firstName” has the value of undefined.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

How can you tell what the value of ‘this’ will be for a particular function or method definition?

A

You can’t. Value of ‘this’ is determined at call time.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

How can you tell what the value of ‘this’ is for a particular function or method call?

A

By looking to left of the dot (the object).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly