Показать сообщение отдельно
  #6 (permalink)  
Старый 20.06.2019, 16:21
Аватар для Malleys
Профессор
Отправить личное сообщение для Malleys Посмотреть профиль Найти все сообщения от Malleys
 
Регистрация: 20.12.2009
Сообщений: 1,714

Сообщение от nathan111777
бы код сначала без прототипа и затем с прототипом на каком-то маленьком примере
Т. е. пример с наследованием и без наследования...

Все объекты обычно создаются при помощи какого-то конструктора (явно (например, const list = new Array(55, 44);) или неявно (например, const list = [55, 44];)) и наследуют от Object.

Без конструктора тоже возможно! Например,

var myObject = { __proto__: null, length: 2, "0": 55, "1": 44 };
console.log(myObject);
У него нет цепочки прототипов, т. е. это такой объект, который содержит только собственные свойства. Хотя он похож на массив (имеется свойство length и установлены правильные индексы), но он не является массивом, поскольку не был сконструирован при помощи класса Array и не имеет соответствующих методов из-за этого!

Сообщение от nathan111777
бы код сначала без конструктора и затем с прототипом
Можно самим вручную указать, чтобы без конструктора и с прототипом...
var myObject = { __proto__: Array.prototype, length: 2, "0": 55, "1": 44 };
console.log(myObject);
Хотя такой объект не прошёл соответствующей инициализации через конструктор, он является массивом (ломанным массивом, поскольку не реагирует на изменения в индексах, но вы можете работать с ним через методы)

Возможно вам будет интересно прочитать некоторые другие сообщения на эту тему...
Может стоит посмотреть некоторые видео об ООП!

Последний раз редактировалось Malleys, 20.06.2019 в 16:23.
Ответить с цитированием