Skip to content
← Back to rules

eslint/no-empty-pattern 정확성

This rule is turned on by default.

작동 방식

비어 있는 구조 분해 패턴을 허용하지 않습니다.

왜 나쁜가요?

구조 분해를 사용할 때, 아무런 영향을 주지 않는 패턴을 만들 수 있습니다.
이 경우는 중첩된 객체 구조 분해 패턴 오른쪽에 비어 있는 중괄호가 사용되었을 때 발생합니다. 예를 들어:

JavaScript
// 변수를 생성하지 않음
var {a: {}} = foo;

이 코드에서는 변수가 생성되지 않습니다. a는 단지 위치 지시자일 뿐이고, {}는 생성할 변수를 포함해야 하지만 비어 있기 때문입니다. 예를 들어:

JavaScript
// 변수 b를 생성함
var {a: { b }} = foo;

많은 경우에서 비어 있는 객체 패턴은 의도한 바와 다르게 작성된 실수이며, 원래는 기본값을 사용하려고 한 것으로 보입니다. 예를 들어:

JavaScript
// 변수 a를 생성함
var {a = {}} = foo;

이 두 패턴 사이의 차이는 미묘하며, 특히 문제가 되는 비어 있는 패턴이 객체 리터럴과 매우 유사하게 보이기 때문에 더 헷갈릴 수 있습니다.

잘못된 코드 예시

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

올바른 코드 예시

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

사용 방법

이 규칙을 구성 파일 또는 명령줄 인터페이스에서 활성화하려면 다음을 사용하세요:

json
{
  "rules": {
    "no-empty-pattern": "error"
  }
}
bash
oxlint --deny no-empty-pattern

참고 자료