Я ищу способ расширить Array
и распределить аргументы конструктора в super
.
interface Token {
name: string
}
class Nodes extends Array {
constructor (v: Token[]) {
super(...v)
}
}
const n = new Nodes([{ name: 'Thomas ' }])
Это вызывает у меня проблемы. Вот ссылка на игровую площадку .
Я тоже попробовал это:
interface Token {
name: string
}
class Nodes extends Array {
constructor (v: Token[]) {
super()
this.push(...v)
Object.setPrototypeOf(this, Object.create(Nodes.prototype));
}
}
const n = new Nodes([{ name: 'Thomas ' }])
console.log(n)
n.map(v => console.log(v.name))
Uncaught TypeError: Найден не вызываемый @@ iterator на новых узлах (eval в (main-3. js: 1239),: 5: 14) в Nodes.map () в eval (eval в (main-3. js: 1239),: 11: 3) в main-3 . js: 1239