es6中的私有变量(前导下划线)的等价物?

时间:2015-10-21 00:18:13

标签: javascript ecmascript-6 eslint

我这里有这个代码:

  getData(value, index) {
    const {responseMetadata, responseData} = this.getResponseDatum();
    return responseData.get(index).get('code').toUpperCase();
  }

eslint报告错误:

  19:12  "responseMetadata" is defined but never used 

在python中,我可以通过将变量重命名为_responseMetadata来沉默这种错误。在es6中是否有等价物?

2 个答案:

答案 0 :(得分:2)

如果您不需要变量,请不要创建变量:

const {responseData} = this.getResponseDatum();

解构赋值不需要匹配返回对象的所有属性。

在您的情况下,由于您只需要一个属性而不多次使用它,实际上没有太多理由使用解构或变量:

getData(value, index) {
    return this.getResponseDatum().responseData.get(index).get('code').toUpperCase();
}

答案 1 :(得分:0)

您可以关闭一段代码的规则。见http://eslint.org/docs/user-guide/configuring.html#configuring-rules

/*eslint-disable */

//suppress all warnings between comments
alert('foo');

/*eslint-enable */