javascript - 箭头函数中的可选参数

标签 javascript ecmascript-6

我有一个像这样的处理程序

handleSelect = (k0, k1, v) => {
    ...
    }
};

我想在这里将 k1 设为可选。有什么好的方法吗?

最佳答案

没有什么好办法。这并非特定于 React 或箭头。

中间带有可选参数的可变参数函数需要解析参数:

handleSelect = (...args) => {
  let k0, k1, v;
  if (args.length > 2) {
    [k0, k1, v0] = args;
  } else {
    [k0, v0] = args;
    k1 = 'default';
  }
  ...
};

这可能会导致 API 晦涩难懂。对于具有多个参数(其中一些参数是可选的)的函数,一个更好的方法是接受一个带有选项的对象。函数不依赖于这种方式的参数顺序:

handleSelect = ({ k0, k1 = 'default', v }) => {
  ...
};

关于javascript - 箭头函数中的可选参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51913154/

相关文章:

javascript - 如何在窗口大小调整时使用 Jquery 从 DOM 添加/删除 Div

javascript - 为什么在 makeSquare(){...} 之前添加关键字函数会给我解析错误

javascript - 多绘图图的 Hovertool 回调源选择

javascript - 如何格式化具有空行的 excel 文件以具有嵌套数组并匹配我需要呈现的 JSON 对象?

javascript - ecmascript 6 中的 "@"字符是什么意思?

javascript - 如何将 TypeScript 转换为 ES6 js 用于节点服务器,然后捆绑 es6.js 用于客户端?

javascript - Blaze Meteor 动态实例化模板和数据上下文

ecmascript-6 - 我可以在 ES6 中的对象键上使用模板字符串吗?

javascript - 如何使用方法更新 Vue.js 中的数组?

javascript - React,将 prop 作为函数参数传递