Какой принцип работы функции? И так имеется функция, которая принимает один, и второй необязательный аргумент, первый Класс-конструктор, второй его аргументы, и по сути он возвращает его объект, есть вопрос, new (Class.bind.apply( Class, arguments ))
каким образом он получает его прототип, прошу помочь детально)function construct(Class/*,arg*/)
return new (Class.bind.apply( Class, arguments ))()// ??

function Class(name){
this.name = name

Class.prototype.sayHello = function()

return 'Hello' + ' ' + this.name

var obj = construct(Class, 'Steve')
console.log(obj.name); // "Steve
console.log(obj.sayHello()); // "Hello Steve"

21 Авг 2019 в 07:03
175 +1
0
Ответы
1

Принцип работы функции construct в данном случае следующий:

Функция construct принимает первый аргумент Class, который является конструктором класса, и второй необязательный аргумент arg.

С помощью Class.bind.apply( Class, arguments ) создается новая функция, которая связывает конструктор Class с переданными аргументами.

Затем с помощью оператора new создается новый объект, используя созданную функцию и ее аргументы.

В результате в переменную obj записывается новый объект, созданный с помощью конструктора Class и переданных аргументов.

Что касается получения прототипа объекта, то он наследуется автоматически при создании объекта с помощью конструктора. Прототип объекта будет равен прототипу конструктора Class. Таким образом, объект obj будет иметь доступ ко всем методам и свойствам, определенным в прототипе Class, включая метод sayHello.

В результате при вызове obj.sayHello() будет возвращаться строка "Hello Steve", так как объект obj был создан с помощью конструктора Class, который имеет метод sayHello, который возвращает "Hello" и имя объекта.

20 Апр в 13:08
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 90 620 авторам
Первые отклики появятся уже в течение 10 минут
Прямой эфир