如何避免在函数调用中重复一长串参数/参数,并将它们全部定义在一个地方?



我有以下(伪代码示例)类:

class Whatever {

constructor(param1, param2, ... , param15) {

this.someLongInitialTask1(param1, param2, ... , param15);

this.someLongInitialTask2(param1, param2, ... , param15);

// some other operations
}

someLongInitialTask1(param1, param2, ..., param15) {
//here some operation to be performed only at inizialization
}

someLongInitialTask2(param1, param2, ..., param15) {
//here some operation to be performed only at inizialization
}
}

我希望能够在我的代码中指定参数/参数列表param1, param2, ..., param15仅在1个地方,而不是每次我需要它们时重复它们。原因是为了编写更健壮和可维护的代码,并避免忘记在各种多个调用中更改参数。

这怎么可能呢?

我不希望这些参数成为类的某个字段/属性,因为它们只在类初始化时有用,并且不需要"记忆"。它们在对象内(不需要将它们分配给对象的字段)。

使用扩展运算符...语法:

class Whatever {
constructor() {
this.someLongInitialTask(...arguments);
}

这些天我倾向于避免有很多参数(更喜欢对象解构参数),但如果你只是想传递参数,你可以使用扩展语法。

class Whatever {
constructor(...params) {
this.someLongInitialTask(...params);
}
someLongInitialTask(...params) {
const [param1] = params;
console.log(param1);
this.someLongInitialTask2(...params);
}

someLongInitialTask2(...params) {
const [param1, param2, param3] = params;
console.log(param1, param2, param3);
}
}
new Whatever(1,2,3);

相关内容

  • 没有找到相关文章

最新更新