Sobes.tech
Junior
106
questionbank

Как задать свои свойства для массива?

Ответ от нейросети

sobes.tech AI

Можно использовать прототип массива или создать свой класс,унаследовавшись от Array.

Через прототип:

// Добавляем свойство customProperty к прототипу Array
Array.prototype.customProperty = 'Мое свойство';

const myArray = [1, 2, 3];
console.log(myArray.customProperty); // Выведет: Мое свойство

const anotherArray = ['a', 'b'];
console.log(anotherArray.customProperty); // Выведет: Мое свойство

Через наследование:

// Создаем класс MyArray, наследующий от Array
class MyArray extends Array {
  constructor(...args) {
    super(...args);
    this.customProperty = 'Мое свойство из класса';
  }

  // Можно добавить свои методы
  sayHello() {
    console.log('Привет от MyArray!');
  }
}

const myCustomArray = new MyArray(10, 20, 30);
console.log(myCustomArray.customProperty); // Выведет: Мое свойство из класса
myCustomArray.sayHello(); // Выведет: Привет от MyArray!
console.log(myCustomArray instanceof Array); // Выведет: true

Использование прототипа влияет на все массивы в приложении. Создание своего класса позволяет создавать массивы с пользовательскими свойствами и методами, не затрагивая стандартные массивы.