javascript - 将对象或定位参数传递给函数

标签 javascript ecmascript-6

现在可以像这样解构函数参数:

function add({a, b}) { return a + b; }

可以这样调用:

add({a: 5, b: 9});

是否也可以将其与位置参数结合起来,这样就可以在不命名参数的情况下调用它。例如:

add(5, 9);

最佳答案

您可以使用rest parameter ,并根据其长度对其进行解构。

function add(...args) {
  let a, b;
  
  args.length === 1 ? ({ a, b } = args[0]) : [a, b] = args;
  
  return a + b;
};

console.log(add({a: 5, b: 9}));
console.log(add(5, 9));

关于javascript - 将对象或定位参数传递给函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45401329/

相关文章:

javascript - 在深层嵌套对象中按特定键查找对象 | JavaScript

javascript - 使用 javascript 对数组中的任意数字进行排名

javascript - 完整日历 - MinMax Time+SlotDuration 不显示小时列

Javascript 范围问题 : Can't change element via 'this' obj passed to function, 但我可以使用普通方法

javascript - 将另一个类作为类的静态属性

javascript - 并发是 JavaScript 语言的一个特性吗?

javascript - 基于数组对对象进行排序以生成排序数组

javascript - 从 ajax 调用函数时获取 "Syntax Error: Unexpected Token"

javascript - 需要帮助添加选项以使用 javascript 进行选择

javascript - ES6 箭头函数和使用 Function.prototype.bind 绑定(bind)的函数之间有什么区别(如果有的话)?