@MishaXXL

Как задать логику преобразования объекта в массив?

Есть класс
class Users {
   constructor() {
      this.store = []
   }
}


Как сделать так, чтобы при преобразовании в массив
const u = new Users()
console.log([...u])

я передавал значение this.store
  • Вопрос задан
  • 73 просмотра
Решения вопроса 1
Aetae
@Aetae Куратор тега JavaScript
Тлен
Что-то типа такого:
class Users {
  constructor() {
    this.store = []
  }
  [Symbol.iterator] = () => this.store[Symbol.iterator]() 
}
Но взможно вам проще и красивее будет сделать самих User'ов наследником массива:
class Users extends Array {
  constructor() {
    super();
  }
}
И использовать сразу this вместо this.store со всеми методами массива кроме тех которые вы переопределите:).
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
04 мая 2024, в 05:49
10000 руб./за проект
04 мая 2024, в 03:57
10000 руб./за проект
04 мая 2024, в 01:47
2000 руб./за проект