> It's a bit of a mess to create an Array that is not holed and gets best optimizations [1], and this proposal would like to address that exact case.
could the performance issue be resolved more easily with a simple static-function `Array.repeat(<length>, <repeater>)`? ```js let structuredList; structuredList = Array.repeat(4, function (ii) { return { index: 2 * ii + 1, tags: [] }); /* structuredList = [ { index: 1, tags: [] }, { index: 3, tags: [] }, { index: 5, tags: [] }, { index: 7, tags: [] } ]; */ ``` the only time i can practically enforce the shape of a "StructuredArray" is during element-insertion, and a userland insertion/creation function would be just as effective as a StructuredArray constructor. enforcing shapes during element deletions and updates are going to be hard and likely just as confusing with StructuredArray as they are with regular Array. also note that most javascript arrays need to be easily JSON-serialized for message-passing over-the-wire (commonly http) to external systems. -kai On Sat, Feb 8, 2020 at 3:46 AM Andrea Giammarchi < andrea.giammar...@gmail.com> wrote: > > having to retroactively add checks like... > > we already have typed arrays in JS so I don't think this would be any > different > > > I _think_ that moderns virtual machines already did these optimisations > despite there isn't a TypedArray like that. > > It's a bit of a mess to create an Array that is not holed and gets best > optimizations [1], and this proposal would like to address that exact case. > > [1] https://v8.dev/blog/elements-kinds > > > > > _______________________________________________ > es-discuss mailing list > es-discuss@mozilla.org > https://mail.mozilla.org/listinfo/es-discuss >
_______________________________________________ es-discuss mailing list es-discuss@mozilla.org https://mail.mozilla.org/listinfo/es-discuss