В любом случае, что делает `new` в JavaScript? [Дубликат]

На этот вопрос уже есть ответ здесь:

Как новый оператор работает в JavaScript? 2 ответа

Я очень озадачен тем, как работают конструкторы в Javascrpt; несмотря на использование языка в течение нескольких лет (в основном, как будто это была полуимперативная версия LISP), я хотел бы узнать больше о том, как объекты должны работать в нем.

Учитывая этот код:

function Foo(x) {
    return {
        bar: function() { return x; }
    };
}

В чем разница между звонкамиmyFoo = Foo(5) а такжеmyFoo = new Foo(5)? Или, другими словами, что именно делает конструктор в Javascriptделать?

Ответы на вопрос(3)

Ваш ответ на вопрос