let a = new Array()
let b = new Array()
let c = new Array()
let d = new Array()
// объектов может быть много, с ращзными данными
// и с разными методами
a.hello = ()=>console.log('Yarrr!') // теперь у объекта "a" есть новый метод
a.hello() // -> Yarrr! его можно вызвать
// но если сделать b.hello() - будет ошибка
console.log('is same object?', a === b) // -> false объекты разные
console.log('is same prototype?', a.__proto__ === b.__proto__) // а прототоип одинаковый (общий)
// но при этом у каждого из них есть .length или .concat()
// потому что эти методы прописаны в прототипе
console.log(a.__proto__)
a.__proto__.tost = ()=>console.log('test') // а этот метод добавился всем
b.tost() // -> test