Javascript - undefined, null e atribuição de variáveis em maps e arrays
Ao criar uma variável, seu valor e tipo são undefined.
Testes rodados no Google Chrome.
var a;console.log(typeof a); // "undefined" a.b = 123; // Exception! Uncaught TypeError: Cannot set property 'b' of undefined a = null; console.log(typeof a); // "object" a.b = 123; // Exception! Uncaught TypeError: Cannot set property 'b' of null a = {}; a.b = 123; console.log(a); // {b: 123} a = 333; a.b = 123; console.log(a); // 333; a = []; a.b = 123; console.log(a); // [b: 123] console.log(Array.isArray(a)); // true // Isso é muito estranho! console.log(a[0]); // undefined console.log(a.length); // 0