Разобрался:
Значение this в контексте функции определяется вызывающей стороной (caller-ом) по форме вызова. Если слева от скобок вызова ( ), находится выражение типа Reference, то значением this будет являться базовый объект этого значения типа Reference. Во всех остальных случаях (т.е. при любом другом типе значения, отличном от типа Reference), значением this будет всегда являться null. Но, т.к. null особого смысла для значения this не несёт, автоматом подставляется глобальный объект.
в моем случае возвращается тип Function, в вашем возвращается Reference, которое скобки оставляют ссылкой. и да вы правы, типа данных обьект на этом уровне не может быть на прямую.
но вот вопрос. Как ОБЬЯСНИТЬ ЭТО?
({a:20}).b = 30
что это такое? что произойдет? какая ссылка есть на обьект? какая? какая база у ссылки? мы работаем с обьектом не имеющим ссылку??? О_О но это же невозможно..) и как тогда? как мы можем создавать свойство b ?? )))
я серьезно спрашиваю, я сам не догоняю))
мы создаем безымянный обьект в глобал области что ле ?