> 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

Reply via email to