我有一个这样定义的函数:
const generate = (report={}, buffer=false) => {
// do stuff
}
注意这两个参数如何具有默认值。
当我调用该函数并命名一个参数时,会出现no-undef ESLint错误。
generate(buffer = true);
ESLint表示未定义“缓冲区”。它没有检测到它是一个命名参数。有谁知道如何更改我的.eslintrc以解决命名参数。我在网上找不到任何东西。
谢谢!
答案 0 :(得分:2)
您期望从此代码中获得的内容在Javascript中不存在。
由于没有声明buffer
,因此会出现no-undef ESLint错误。由于JS中没有命名参数,因此您可以调用generate(true)
。
尽管实际上会导致report
等于true
,并且buffer
被设置为默认值(您已将其设置为false
)。
要获得更接近所需的结果,可以切换可变顺序:
generate(buffer = false, report = {})
然后调用generate(true)
将导致具有以下参数的调用:
buffer = true
和report = {}
。
希望如此。
为进一步阅读,我建议:http://2ality.com/2011/11/keyword-parameters.html