Eslint
规则 | Rules

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 中引入。

资源