Come on. It has plenty of unique problems with no upsides. If that's not inferior, I don't know what is.
Come on. It has plenty of unique problems with no upsides. If that's not inferior, I don't know what is.
I meant to say that it has problems which have no upsides. By which I mean that it has certain weaknesses that contribute nothing to its good features and that could have been designed correctly without negatively impacting anything. They are just plain mistakes.
Fun fact:
let list = new Array(5);
list.forEach(() => { console.log("foo"); })
Will display nothing, if you want to properly initialize an array with a defined length, you have to do: let list = Array.apply(null, Array(5)).map(function () {})
I make web games in Typescript, and I get all sorts of problems like this everytime I have to work with 2D arrays, problems that I don't get when I do games in C# with Unity. Unity's modified Javascript actually implements better arrays and recommends not using Javascript's native arrays: http://docs.unity3d.com/ScriptReference/Array.html[1] https://developer.mozilla.org/en-US/docs/Web/JavaScript/Type...
for(let v of list) { console.log("foo"); }
If you're saying that "initialize an array with a defined length" should be "initialize an empty array of 5 values of undefined" then yeah, but you can also use:
let list = Array.from(Array(5));
as new Array(5) creates an array of length 5, but each is a "hole"
I know the syntax is similar to C# or other languages, but because it's slightly different doesn't mean it doesn't bring anything to the table. JS or TS != C# in a browser the syntax is similar...