1

我正在编写一个采用两个参数的方法:第一个是包含表单的 jQuery 对象,第二个是具有默认参数的“选项”对象,其中一些在第一个参数中引用表单。

我知道默认参数可以引用它之前的默认参数的值,所以我想知道为什么我的代码会失败。

const validation = {
  validateForm(form, {
    btn: form.find('button'),
    action: null,
    displayErrInline: form.attr('validate') === 'inline',
    disableValidation: false
  }) {
    // do stuff
  }
};

有人可以解释一下这有什么问题吗?

4

1 回答 1

1

我弄清楚我做错了什么。我使用冒号为解构对象而不是赋值变量提供默认值。

这是将默认值传递给函数参数中的解构对象的正确方法示例:

const validation = {
  validateForm(form, {
    btn = form.find('button'),
    action = null,
    displayErrInline = form.attr('validate') === 'inline',
    disableValidation = false
  }) {
    // do stuff
  }
};

或者,我可以指定一个空对象 ( = {}) 作为第二个参数的默认值,以避免在没有传递第二个参数时出错。

于 2017-11-21T14:54:26.230 回答