Как работает внутреннее свойство [[scope]]?

Вызов outer так же создал область видимости в которой создалась функция incrementCounter и coutner. myNewFunction ссылается на функцию что создана и возвращена из outer. Вызов myNewFunction изенит значение переменной counter в той области видмости в которой myNewFunction была объявлена. В итоге значение counter будет 2. Это можно проверить, добавив console.log после инкремента в вызове incrementCounter