// вызов функции TestClass в качестве конструктора с помощью new
var instance = new TestClass("Alex", 26);
function TestClass(name, age) {
// если TestClass вызван с помощью new, то перед выполнением тела функции
// создаётся экземпляр класса TestClass, то есть объект у которого свойство
// constructor ссылается на TestClass, а свойство __proto__ - на TestClass.prototype
// в этом объекте создаётся свойство name, ему присваивается значение из
// переменной name
this.name = name;
// из конструктора возвращается совсем другой объект, который никак не
// связан с TestClass
return {
a: 10
};
};
console.log( instance );
// { a: 10 }