en.javascript.info/1-js/06-advanced-functions/03-closure/2-closure-variable-access/solution.md
Ilya Kantor 964ed57c42 closure
2019-12-26 14:59:57 +03:00

412 B

The answer is: Pete.

The work() function in the code below gets name from the place of its origin through the outer lexical environment reference:

So, the result is "Pete" here.

But if there were no let name in makeWorker(), then the search would go outside and take the global variable as we can see from the chain above. In that case the result would be "John".