const obj = {};
const proxy = new Proxy(obj, {
get(target, propName, receiver) {
console.log('propName', propName)
return 1;
},
});
const name = proxy.name;
const instance = Object.create(proxy);
console.log('-----------');
console.log(instance);
console.log('-----------');
instance.a = 1;
Я ожидаю, что на выходе будет
propName name
------------------
{}
------------------
, но на самом деле, есть разные результаты в разных узлах env
v10.13.0
propName name
-----------
propName Symbol(nodejs.util.inspect.custom) // why?
propName Symbol(Symbol.toStringTag) // why ?
propName Symbol(Symbol.iterator) // why?
{}
-----------
chrome консоль браузера
propName name
-----------
{}
propName Symbol(Symbol.toStringTag) // why?
propName splice // why?
propName splice // why?
-----------
Я думаю, что это было вызвано console.log
что произошло console.log в обоих env?
И почему {} сзади env-v10.13.0 env, {} впереди в консоли chrome
это мой babelr c, прокси-сервер является родным код
{
"presets": [
"@babel/preset-env"
],
"plugins": [
[
"@babel/plugin-proposal-decorators",
{
"decoratorBeforeExport": true,
"legacy": true
}
],
"@babel/plugin-proposal-class-properties"
]
}
код и v10.13.0 выход
chrome выход
Спасибо!