1 2 3 4 5 6 7 8 9 10 11 12
export class Enum { constructor(...keys) { keys.forEach((key, i) => { this[key] = i; }); Object.freeze(this); } *[Symbol.iterator]() { for (let key of Object.keys(this)) yield key; } }