I'm not claiming they are like arrays as in "they have the same properties as arrays". I'm not talking about complexity of operations or even availability of operations. In the very beginning I name 3 categories. One of which is "data structures". And sets, lists, arrays, maps, etc. all are classical data structures. You can even - to some degree - interchange one for the other. It might not be efficient but they can simulate each other. E.g. you can implement a map in terms of a list, you can implement an "array-like" in terms of a list, etc.. I'm talking interface here, not complexity.
But you can't implement a promise using an array. The array will never "magically" come to life a couple of seconds after you last touched it and do something. And that's the whole point of the gist.