Files
scriptc/tests/corpus/native-object-descriptors.js
Chris Tate f8906d0b75 Expand static native object and array semantics (#569)
* 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
2026-09-29 08:30:54 -05:00

13 lines
781 B
JavaScript

const object = JSON.parse('{"first":1,"second":2}');
Object.defineProperty(object, 'hidden', { value: 3 });
const descriptors = Object.getOwnPropertyDescriptors(object);
console.log(Object.keys(descriptors).join(','));
console.log(descriptors.first.value, descriptors.first.writable, descriptors.first.enumerable, descriptors.first.configurable);
console.log(descriptors.hidden.value, descriptors.hidden.writable, descriptors.hidden.enumerable, descriptors.hidden.configurable);
console.log(Object.getOwnPropertyDescriptors(3));
console.log(Object.keys(Object.getOwnPropertyDescriptors('cat')).join(','));
const parent = JSON.parse('{"inherited":4}');
const child = Object.create(parent);
child.own = 5;
console.log(Object.keys(Object.getOwnPropertyDescriptors(child)).join(','));