no-empty-pattern
不允许空的解构模式(非空模式)
"extends": "eslint:recommended"
配置文件中的属性启用此规则。
使用解构时,可以创建一个无效的模式。发生这种情况时,将空花括号用于嵌入对象解构模式的右侧,例如:
// doesn't create any variables
var {a: {}} = foo;
在这段代码中,没有创建新的变量,因为a
它只是一个位置帮助器,而{}
期望包含要创建的变量,例如:
// creates variable b
var {a: { b }} = foo;
在许多情况下,空白对象模式是作者打算使用默认值的错误,例如:
// creates variable a
var {a = {}} = foo;
这两种模式之间的区别很微妙,尤其是因为有问题的空白模式看起来就像对象文字一样。
规则细节
此规则旨在标记解构结构对象和数组中的任何空模式,因此,只要遇到问题就会报告问题。
此规则的错误
代码示例:
/*eslint no-empty-pattern: "error"*/
var {} = foo;
var [] = foo;
var {a: {}} = foo;
var {a: []} = foo;
function foo{}) {}
function foo([]) {}
function foo{a: {}}) {}
function foo{a: []}) {}
此规则的正确
代码示例:
/*eslint no-empty-pattern: "error"*/
var {a = {}} = foo;
var {a = []} = foo;
function foo{a = {}}) {}
function foo{a = []}) {}
版本
该规则在 ESLint 1.7.0 中引入。