Kovalsky, я понял о чем Вы говорите, но это поведение никак не связано с местом, где функция объявлена, она могла быть объявлена внутри класса, внутри объекта и тд, но если ее вызвать не из объекта и не через call, apply, то контекст будет взят глобально.
Kovalsky, да, потому что по умолчанию для всех функций есть глобальный контекст вызова - window. Дело в том, что если объявите функцию внутри класса, которая через this должна будет работать с полями и свойствами класса, а потом возьмете ссылку на эту функцию и просто по ссылке вызовите ее, тогда this будет потерян, и сработает правило по умолчанию - глобальный контекст, а не класс.
Kovalsky, нет, контекст у обычной функции передается в момент вызова, и на это влияет как ее вызовут, это у стрелочной функции контекста как такового нет, и потому она берет this грубо говоря из замыкания, которое формируется в месте, где она была объявлена.
Владимир, и правильно :) и скорее всего быстрее находите ответ и больше знаете по итогу! потому что скопировал-вставил, и завтра снова спрашивать придется, а так - научился!