DM
B::constructor(version) {
super(version)
}Size: a a a
DM
B::constructor(version) {
super(version)
}DM
DM
w
w
DM
w
DM
w
version, которое в себе содержит string значение и у всех этих дочерних классов оно разноеversion ВСЕХ дочерних классов одного родителя с учетом того, что дочерние классы могут со временем добавляться и массив при новой своей итерации должен показывать всё как оно есть с изменениямиw
class Fater {
constructor() {
this.version = '1.0.0'
}
}
class One extends Fater {
constructor() {
super()
this.version = '2.0.0'
}
}
class Two extends Fater {
constructor() {
super()
this.version = '3.0.0'
}
}
такая вот конструкция получаетсяFather, но сколько этих классов в коде и как они называются я могу не знатьw
DM
DM
w
DM
DM
class A {
static allVersions = new Set()
static version = 'a'
constructor() {
this.constructor.allVersions.add(this.constructor.version)
}
}
class B extends A {
static version = 'b'
}
const b = new B()R
class A {
static allVersions = new Set()
static version = 'a'
constructor() {
this.constructor.allVersions.add(this.constructor.version)
}
}
class B extends A {
static version = 'b'
}
const b = new B()w
DM
class A {
static allVersions = new Set()
version = (function() { console.log('initializing version a...'); return 'a' })()
constructor() {
console.log('A::constructor()')
console.log('A::this', this)
console.log('A::this.version', this.version)
A.allVersions.add(this.version)
}
}
class B extends A {
version = (function() { console.log('initializing version b...'); return 'b' })();
constructor() {
console.log('B::constructor()')
console.log('B::constructor() calling super()')
super()
console.log('B::constructor() done calling super()')
console.log('B::this', this)
console.log('B::this.version', this.version)
}
}
const b = new B()