Skip to content
← Back to rules

oxc/bad-object-literal-comparison 정확성

This rule is turned on by default.

작동 방식

객체 리터럴과 배열 리터럴 간의 비교를 검사합니다.

왜 문제인가요?

변수를 객체 또는 배열 리터럴과 비교하면 항상 false를 반환하게 됩니다. 왜냐하면 객체 리터럴과 배열 리터럴은 서로 항상 불일치하기 때문입니다.

만약 객체나 배열이 비어 있는지 확인하고 싶다면, Object.entries() 또는 Object.keys()와 그 길이를 사용하세요.

예시

이 규칙에 대해 잘못된 코드 예시:

javascript
if (x === {}) {
}
if (arr !== []) {
}

이 규칙에 대해 올바른 코드 예시:

javascript
if (typeof x === "object" && Object.keys(x).length === 0) {
}
if (Array.isArray(x) && x.length === 0) {
}

사용 방법

구성 파일이나 명령줄 인터페이스에서 이 규칙을 활성화하려면 다음을 사용할 수 있습니다:

json
{
  "rules": {
    "oxc/bad-object-literal-comparison": "error"
  }
}
bash
oxlint --deny oxc/bad-object-literal-comparison

참고 자료