mirror of
https://github.com/vercel-labs/scriptc.git
synced 2026-10-20 05:40:17 +08:00
* Support primitive and function property descriptors * Dispatch literal bracket calls to native class methods * Handle numeric class method keys in bracket calls * Call function values returned by class accessors * Expand native object and array semantics * Keep new corpus fixtures aligned with compiler gates * Lower Object.isFrozen arguments once
22 lines
993 B
JavaScript
22 lines
993 B
JavaScript
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);
|