en.javascript.info/1-js/04-object-basics/04-object-methods/3-why-this/task.md
2017-09-05 16:25:31 +05:30

467 B

importance: 3


Explain the value of "this"

In the code below we intend to call user.go() method 4 times in a row.

But calls (1) and (2) works differently from (3) and (4). Why?

let obj, method;

obj = {
  go: function() { alert(this); }
};

obj.go();               // (1) [object Object]

(obj.go)();             // (2) [object Object]

(method = obj.go)();    // (3) undefined

(obj.go || obj.stop)(); // (4) undefined