Может сработать что-то вроде следующего (адаптироваться к вашим потребностям):
class Movie{
constructor(name, year, duration){
this.name = name;
this.year = year;
this.duration = duration;
this.cast = []; // initialy we have an empty cast, to be added by addCast
},
addCast(cast){
// in general it can accept an array of actors or a single actor
if ( cast instanceof Actor) {
cast = [cast]; // make it an array
}
for(var i=0; i<cast.length; i++) {
this.cast.push(cast[i]);
}
return this; // make it chainable
}
}
Затем вы можете добавить актеры к своим фильмам, например:
terminator.addCast(new Actor('Arnold', 47)); // add single actor as cast
terminator.addCast([
new Actor('An Actor', 30),
new Actor('Another Actor', 40),
]); // add array of actors