Há imensos conceitos "novos" que temos de aprender para lidar com o JavaScript no Browser ou no computador (NodeJS). Aprender os conceitos é também o nosso objectivo, sendo que os dados que estão representados são também Objectos. Em JSON os Objectos estão dentro de [listas], sendo que em JavaScript, os {objectos} também podem ter [listas] de {objectos} e, todos os {objectos} podem ter vários [listas]. No fundo a representação dos dados em cada uma dessas estruturas é semelhante, mas o que é importante é lembrar que só os objectos podem conter funções . Este conceito é o mais importante ( para mim ) pois assim entendo melhor o resultado do comando: console.log(windows) // na consola do Browser relativamente ao DOM e console.log(modulo) // no terminal, relativamente aos modulos do NodeJS. A lista de funções que estão disponíveis são objectos e só os objectos têm funções. A lista é bem grande para ambas as partes e cada função tem uma ou várias propriedades de expressão.
Um Macaco preguiçoso que procura entender as várias tecnologias usadas na Web de modo a explica-las, mas que tem uma grande tendência de se perder nos pensamentos e nas comparações mentais como forma de entender-se.. e desta forma, entender as tecnologias!