eslint/no-empty-pattern 정확성
작동 방식
비어 있는 구조 분해 패턴을 허용하지 않습니다.
왜 나쁜가요?
구조 분해를 사용할 때, 아무런 영향을 주지 않는 패턴을 만들 수 있습니다.
이 경우는 중첩된 객체 구조 분해 패턴 오른쪽에 비어 있는 중괄호가 사용되었을 때 발생합니다. 예를 들어:
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