mirror of
https://github.com/vercel-labs/scriptc.git
synced 2026-10-02 08:35:07 +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
19 lines
757 B
JavaScript
19 lines
757 B
JavaScript
const values = JSON.parse('[0,1,2,3]');
|
|
let conversions = 0;
|
|
const start = { valueOf() { conversions++; return 1; } };
|
|
const count = { valueOf() { conversions++; return 2; } };
|
|
console.log(values.splice(start, count, 8, 9).join(','));
|
|
console.log(values.join(','), conversions);
|
|
console.log(values.splice(-1, 0, 7).join(','), values.join(','));
|
|
|
|
const sealed = JSON.parse('[1,2]');
|
|
Object.seal(sealed);
|
|
let sealedConversions = 0;
|
|
const sealedStart = { valueOf() { sealedConversions++; return 0; } };
|
|
console.log(sealed.splice(sealedStart, 1, 3).join(','), sealed.join(','), sealedConversions);
|
|
|
|
const frozen = JSON.parse('[4,5]');
|
|
Object.freeze(frozen);
|
|
try { frozen.splice(0, 1); } catch (error) { console.log(error.name); }
|
|
console.log(frozen.join(','));
|