Open jyzwf opened 6 years ago
http://2ality.com/2018/08/enums-via-proxies.html
const keyProxy = new Proxy({}, { get(_target, propKey, _receiver) { return propKey; } }); const {foo, bar, baz} = keyProxy; assert.equal(foo, 'foo'); assert.equal(bar, 'bar'); assert.equal(baz, 'baz');
assert.equal(keyProxy.hello, 'hello'); assert.equal(keyProxy.world, 'world');
const keyProxy = new Proxy({}, { get(_target, propKey, _receiver) { return Symbol(propKey); // (A) } }); const {foo, bar, baz} = keyProxy; assert.equal(typeof foo, 'symbol'); assert.equal(String(foo), 'Symbol(foo)');
http://2ality.com/2018/08/enums-via-proxies.html
1.
2.
3.