使用 args 重命名函数而不重写它们 - Javascript

Renaming a function with args without rewriting them - Javascript

在我的代码中,我有一个 class,我需要在

处获取一个函数

this.behaviour.trembling.start(with many args...)

并在我的 class 中创建一个名为

的函数

startTrembling(with the same many args...)

它只是调用传递参数的第一个函数。像这样:

startTrembling(arg1, arg2, arg3, arg4, ...) { 
this.behaviour.trembling.start(arg1, arg2, arg3, arg4, ...); }

问题是,如果我更改第一个函数中的参数,我也必须在第二个函数中更改它。我只是想知道是否有一种方法可以直接使用其参数来简单地重命名第一个函数。 提前致谢!

您可以使用 arguments object combined with the spread 运算符:

在这里,arguments 将包含父函数的每个参数,您所要做的就是 spread 这些参数。

startTrembling(arg1, arg2, arg3, arg4, ...) { 
    this.behaviour.trembling.start(...arguments); 
}

假设您没有使用箭头函数:

您可以对隐式 arguments 对象使用扩展运算符

function startTrembling() {
  this.behaviour.trembling.start(...arguments);
}