В вашем примере ничего не происходит. Если бы вы написали:
function AnyClass () {
return Object.apply(this, arguments);
}
console.log(new AnyClass({'a': 3, 'b': 7}));
console.log(new AnyClass(5));
console.log(new AnyClass(true));
console.log(new AnyClass('test'));
То получили бы создание объектов разного типа.
А поскольку вы просто вызвали функцию
Object, она выполнилась, получив в
this ссылку на создаваемый объект и всё. Результат её выполнения вы не используете нигде.
А вот это я так и не смог понять:) По мне, так это — масло масляное
AnyClass.prototype = Object.create(Object.prototype);