class Foo { #one #two #three #four #five #six #seven #eight #nine #ten #eleven #twelve #thirteen #fourteen #fifteen #sixteen constructor( one, two, three, four, five, six, seven, eight, nine, ten, eleven, twelve, thirteen, fourteen, fifteen, sixteen ) { this.#one = one; this.#two = two; this.#three = three; this.#four = four; this.#five = five; this.#six = six; this.#seven = seven; this.#eight = eight; this.#nine = nine; this.#ten = ten; this.#eleven = eleven; this.#twelve = twelve; this.#thirteen = thirteen; this.#fourteen = fourteen; this.#fifteen = fifteen; this.#sixteen = sixteen; } }
Quelle est la solution à ce schéma (anti ?) ?
Pour quiconque souhaite utiliser un constructeur, avoir 16 paramètres n'est pas amusant. L'idée d'objet de configuration que vous avez suggérée dans votre commentaire est bien s?r beaucoup plus intéressante lorsque vous la combinez avec l'idée d'avoir des propriétés privées pour un objet de type qui possède toutes ces propriétés. Vous pouvez ensuite utiliser Object.assign
pour le mettre à jour en fonction des préférences de l'utilisateur :
class Foo { #options = { one: 1, two: 2, three: 3, four: 4 } constructor(options = {}) { Object.assign(this.#options, options); console.log(this.#options); } } let foo = new Foo({three: 3000});