Как мы знаем, мы используем функцию конструктора и «новое» для создания объектов в Javascript.Какова цель дизайна использования функции-конструктора и «нового» ключевого слова для создания объектов в Javascript?
var Cat = function() {...};
var cat = new Cat();
Однако, с точки зрения дизайна языка программирования, я думаю, что это совершенно неясные интуиции людей. Как получается этот дизайн?
(Дело в том, не о «новом» ключевом слове, но синтаксический с помощью «функции», чтобы создать объект, который является неясным. Объект только объект. Почему он не имеет ничего общего с функцией?)
Возможно, это происходило на таких языках, как C++ и Ява. Что он сделал. На каких языках вы знакомы? – Pointy
Это был выбор дизайна, чтобы сделать JavaScript [Protoype-based] (https://en.wikipedia.org/wiki/Prototype-based_programming). В любом случае он определен в [стандарте ECMAScript] (https://es5.github.io/#x11.2.2) и работает, чтобы установить цепочку [Prototype] и неявно создает новый объект и т. Д. [Prototype] может быть установлен также с Object.created, но это другой вопрос .. – user2864740
Связанный дубликат не о JavaScript явно, но так как JavaScript взял синтаксис непосредственно из Java/C++, я думаю, что это применимо. – Pointy