//Array.from() lets you create Arrays from array-like objects
//(objects with a length property and indexed elements);
//and also:
//More clearly, Array.from(obj, mapFn, thisArg)
//has the same result as Array.from(obj).map(mapFn, thisArg),
//except that it does not create an intermediate array.
//Basically, it's a declaration that overrides the length property of the method
//(so that it has to be used with the same name length),
//setting it with the same value of the given variable.
//The values are still undefined, it's just a different notation. Take a look:
console.log(Array.from(length, (_,i) => i));
// It doesn't works with non-iterables
// In this case we are passing an integer
console.log(Array.from({LENGTH}, (_,i) => i));
// It doesn't work with a property name different from "length"
console.log(Array.from({length}, (_,i) => i));
// It works because overrides the .length property of the array
// The method Array.from() assumes that the property...
// ...is referring to an iterable (also if not declared)
console.log(Array.from(Array(length), (_,i) => i));
// This is the demonstration of the above assertion
// In this case we are using a declared array through...
// ...an instance of the straight method Array()...
// ...that accepts an integer as value
//in case any one reads this a got this from er0s in edabit