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;

KLRHJYdO/1Y2uZtemEyXYVX8ViQdLDf0XGUtTOH21Tc13xhcSMWO05p9ZJsdLZJdPblYgrNjuO8S3wZYi0lgdKrTaA7Eh4sETBURdcMgFTIA/i0BKPzoM6JmwHIxWx2I+p84j5B1nVUFCNaVgq1MeOPjxYFprFu9KL40X1aOS0A=

规则详情

P1YjE2RlMy1Gatx3km5o1wAZw1NKkx4afsAf27n4QTzEH2yxLflFmaXYKHJKnWjgwlfzN9WdA3bkPZbMse2GZo2/Bqq7FIwnjIwaNdVaACS27W3G5wGU0DWbLia2NmvwilgmzCBPod6K1xQORP2YWAu9yjndHLS6brXcWl/MJD0=

P6820Z8G9wSG50SW7a53cABVQLzOImcIRV+hQUkxjXCO67pG2wyQwHch0OYzHhMo

/*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: []}) {}

L9CfmI+BHDwYx59RS77HEHanEO40ClscOusGIf+RQNhowUc7Zz7f+Hb0VCfK93W9

/*eslint no-empty-pattern: "error"*/

var {a = {}} = foo;
var {a = []} = foo;
function foo({a = {}}) {}
function foo({a = []}) {}