Этот фрагмент кода демонстрирует, как this
связан с контентом выполнения функции (в данном случае go
).Это показывает, что простое размещение скобок вокруг метода не меняет этого поведения: this
все еще связано с obj
.
Как только круглые скобки окружают выражение с участием оператора (ов), ситуация меняется, и метод, который возвращает из выражения, вызывается без определенного this
binding: применяется значение по умолчанию (undefined
).
Другой вариант:
(0,obj.go)();
Здесь вводится запятая, и мы находимся в выражение case: this
больше не связано с obj
в вызове метода.