FunctionConstructor.prototype - Prototype

Если

let variable = new FunctionConstructor();

то variable.__proto__ = FunctionConstructor.prototype.

Что такое variable.__proto__ (объект, от которого наследуется variable) понятно, а чему равно свойство prototype функции-конструктора нет.

  1. "Какое смысловое значение (желательно имеющее отношение к объектам реального мира) имеет FunctionConstructor.prototype?"

P.S. Такой же вопрос возник относительно кода с F.prototype, а именно как логически взаимосвязано свойство Rabbit.prototype со своим значением (какой смысл несет Rabbit.prototype)?

  1. Если let variable = new FunctionConstructor();, то с одной стороны variable наследуется от FunctionConstructor (т. к. создана с помощью оператора new FunctionConstructor();), а с другой стороны variable.__proto__=FunctionConstructor.prototype (опять же потому что создана с помощью оператора new), т. е. variable прототипно наследуется от FunctionConstructor.prototype. В чем отличие прототипного наследования от обычного?
  2. Объясните логику равенства с Прототипы

Все типы данных наследуются от Object, это означает что к примеру: Number.prototype.__proto__ === Object.prototype

Исходя из определения прототипа получаем, что переменная типа Number.prototype = new Object().


Ответы (1 шт):

Автор решения: Qwertiy
  • Конструктор - это вид: кот, енот, собака.
  • его prototype - хранилище умений этого вида: мяукать, вылизываться.
  • Родительский класс - более общая сущность в иерархии: млекопитающее, животное.
  • его prototype - хранилище более общих умений: есть, ходить, издавать звук.
→ Ссылка