Executando verificação de segurança...
1

Sim, eu ignorei os wrappers e objetos que podem ser instanciados com new porque já caem na ideia do "objeto que lembra o dict do python". Incluir os conceitos de prototype e da emulação de classe/objeto que existem em JS levaria a discussão pra outro lado. O regex foi o único que esqueci mesmo, valeu por lembrar! Vou fazer um edit comentando isso.

Carregando publicação patrocinada...
2

E só pra ser chato, vc pode criar arrays e funções com new :-)

var x = new Function('a', 'b', 'return a + b');
console.log(x(1, 2)); // 3

x.prop = 'oi';
console.log(x.prop); // oi

var y = new Array(1, 2, 3);
console.log(y); // [ 1, 2, 3 ]

y.prop = 'oi';
console.log(y.prop); // oi

Mas entendi o que vc quis dizer :-)

1

Sim hehe vlw por comentar! Já editei pra deixar mais claro. Minha ideia original era trazer pra discussão apenas os valores que comumente imaginamos como objetos em JS (sintaxe chave-valor), independente do extenso e confuso sistema de classes Object do JS e da emulação que ela faz do sistema OOP com os prototypes. Talvez justamente por isso que se espalhou essa ideia do "tudo em JS é um objeto".

"Ahh, javascript... such a messy language..."
2

Sim, eu ignorei os wrappers e objetos que podem ser instanciados com new porque já caem na ideia do "objeto que lembra o dict do python"

Eu não tinha entendido assim. O que eu entendi de "objeto que lembra o dict do python" são aqueles que vc cria com a sintaxe { chave: valor } (e não com new).

Fica a sugestão de deixar esse ponto mais claro :-)