Comment le code JS doit être structré lors de l'instanciation de nouvelles classes dans la classe de contrôleur Main
.Créer une classe avec des arguments ou appeler ses méthodes séparément
Solutions:
A: passer des arguments tout en créant une nouvelle classe - new Options(args)
- et laissez-constructeur de Options
appeler ses propres méthodes. B: crée une nouvelle classe et appelle les méthodes des classes sur l'objet.
Plus tard j'utiliserais les propriétés de Options
dans d'autres classes.
// A
class Main {
constructor(options) {
this.options = new Options(options);
{ firstProperty, secondProperty } = this.options;
this.another = new Another(firstProperty, secondProperty);
}
}
// B
class Main {
constructor(options) {
this.options = new Options();
const firstProperty = this.options.methodA(options);
const secondProperty = this.options.methodB(options);
this.another = new Another();
const anotherPropety = this.another.methodA(firstProperty);
(...)
}
}
Les deux codes ne semblent pas équivalents. dans B, vous ne copiez pas les deux propriétés dans 'this.another'. Aussi, est-ce que "this.other" devrait être "this.another"? – Barmar
Ils sont équivalents, je devrais ajouter 'etc ...'. Maintenant, c'est «un autre» seulement, c'était une erreur, merci de l'avoir repéré. –