const values = JSON.parse('[3,5]'); values.extra = 7; Object.defineProperty(values, 'hidden', { value: 9, writable: true, configurable: true }); console.log(values.extra, values.hidden, values.length); console.log(Object.keys(values).join(',')); console.log(Object.getOwnPropertyNames(values).join(',')); console.log(Object.hasOwn(values, 'extra'), 'hidden' in values); console.log(Object.getOwnPropertyDescriptor(values, 'hidden').enumerable); console.log(Object.getOwnPropertyDescriptors(values).extra.value); const keys = []; for (const key in values) keys.push(key); console.log(keys.join(',')); delete values.hidden; console.log(Object.hasOwn(values, 'hidden')); Object.seal(values); console.log(Object.isSealed(values), Object.isFrozen(values)); console.log(Object.getOwnPropertyDescriptor(values, 'extra').configurable); values.extra = 8; console.log(values.extra); Object.freeze(values); console.log(Object.isFrozen(values), Object.getOwnPropertyDescriptor(values, 'extra').writable);