про this целую книгу уже написали. на самом деле всё просто. главное усвоить, что this определяется в момент вызова. и будет указывать на объект, который будет "перед точкой"
смысл в том, что по факту функция которую вызывает baz вообще никак не связана с объектом. представь, что она лежит где то в другом месте и ничего про этот объект не знает в принципе.
и ты ожидаешь, что в анонимной функции this будет указывать на этот объект. но нет.
Немного не тот пример. В случае со стрелками не работают правила this применимые к функциям. В данном случае this в стрелке указывает на окружение, в котором она иницализирована, то есть виндоу obj.baz = () = > для интерпретатора.
Немного не тот пример. В случае со стрелками не работают правила this применимые к функциям. В данном случае this в стрелке указывает на окружение, в котором она иницализирована, то есть виндоу obj.baz = () = > для интерпретатора.