Прокси возвращает результат только через метод get при попытке вернуть другое значение - PullRequest
0 голосов
/ 28 января 2019

Я пытаюсь просто дать пользователю строку «Hello» каждый раз, когда прокси вызывается через метод get.Вместо этого я получаю пустой объект, который является моей целью.

Я пытался использовать классы, такие как String, Reflect без положительных результатов

let proxy = new Proxy({},{
    get: function ()
    {
         return "Hello"
    }
})


console.log(proxy)

Ожидается: "Hello"
Результат: {}

1 Ответ

0 голосов
/ 28 января 2019

каждый раз, когда прокси вызывается через метод get.

Это не то, для чего создана ловушка get.Метод будет обрабатывать доступ к свойству , а не сам прокси.Ваш (прокси) объект не имеет никаких свойств, к ним нет доступа, поэтому все, что вы видите, это пустой объект.

См. Ловушку get в действии:

const proxy = new Proxy({},{
    get: function () {
         return "Hello"
    }
})
console.log(proxy.someProperty, proxy.really, proxy.anything)
console.log(proxy)

Я пытаюсь просто дать пользователю строку "Hello"

Это невозможно.Прокси всегда объект.Он не может маскироваться под примитивную строку.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...