const length = 4;
const numbers = [];
for (var i = 0; i < length; i++); { //<------- attenzione al ;
    numbers.push(i + 1);
}
console.log(numbers); //[5]

//A causa del ; viene prima eseguito quanto nelle () e poi quanto contenuto nel blocco {} 
//Perciò quando entriamo nel blocco {} il ciclo è già finito e i vale 4 perciò pushiamo 
//dentro l'array una sola volta 4 + 1

 

var variable = 10;
(()=> {
    console.log(variable);
    let variable = 20;
    console.log(variable);
})();

//Il primo console.log causa Uncaught ReferenceError: Cannot access 'variable' before initialization
//perchè dentro la IIFE non abbiamo accesso alle variabili dichiarate fuori

 

let snack = 'Meow Mix';
function getFood(food) {
    if (food) {
        let snack = 'Friskies';
        return snack;
    }
    return snack;
}
getFood(false); // 'Meow Mix'  (se passiamo true invece enriamo nell'if e ritorniamo 'Friskies')

 

var array = new Array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10);
array['length'] = 4;
array.push(10);
console.log(array); //[0, 1, 2, 3, 10]