Files
scriptc/tests/corpus/array-checked-constructor.js
Chris Tate c257368c5e Compile Effect generators statically (#589)
* Compile Effect generators statically

* test: declare the dormant array write's expected fence
2026-09-30 14:25:29 -05:00

32 lines
1.0 KiB
JavaScript

function make(size) {
const out = new Array(size);
console.log(out.length, typeof out[0]);
for (let i = 0; i < out.length; i++) out[i] = i % 2 === 0 ? i : "item";
return out;
}
console.log(JSON.stringify(make(4)));
console.log(JSON.stringify(make(0)));
function from(value) {
const out = new Array(value);
if (typeof value === "number") for (let i = 0; i < out.length; i++) out[i] = i;
return out;
}
console.log(JSON.stringify(from("value")));
console.log(JSON.stringify(from(3)));
try { from(-1); } catch (error) { console.log(error.name, error.message); }
try { from(1.5); } catch (error) { console.log(error.name, error.message); }
function remove(size) {
const out = new Array(size);
out[1] = "middle";
console.log(out.pop(), out.length);
console.log(out.shift(), out.length);
console.log(out.pop(), out.length);
console.log(out.pop(), out.shift(), out.length);
out.push({ value: 42 });
console.log(out.shift().value, out.length);
out.push(undefined);
console.log(out.pop(), out.length);
}
remove(3);