Сообщение от callbackhell
|
конструкция {a: 1} это сахар для new function(){this.a = 1}
|
Нет, это не так.
var x = {a: 1} есть то же самое что и код
var x = new Object();
x.a = 1;
конструкция с анонимной функцией дает чуть более длинную цепочку прототипов для объекта - в этом случае
x.__proto__ будет прототипом анонимной функции, а
x.__proto__.__proto__ равно Object.prototype
А для x = {a: 1} уже
x.__proto__ равно Object.prototype