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 undefineda = null;console.log(typeof a);// "object"a.b = 123;// Exception! Uncaught TypeError: Cannot set property 'b' of nulla = {};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]);// undefinedconsole.log(a.length);// 0

You should also read:

Javascript, Datas e Fusos Horários

Descobri um artigo sensacional explicando todos os problemas e soluções em lidar com tempo no Javascript. Esse é o artigo: https://medium.com/@toastui/handling-time-zone-in-javascript-547e67aa842d O que…

Estudando o Eval do Javascript

Eval assíncrono com timeouts Uma forma mais segura de dar o eval utilizando uma biblioteca: lemming.js Ela permite executar eval de forma assíncrona…