Skip to content
← Back to rules

eslint/accessor-pairs Pedantic

작동 방식

객체 및 클래스 내에서 게터/세터 쌍을 강제합니다.

왜 나쁜가요?

자바스크립트에서 속성에 세터만 정의하고 해당하는 게터를 정의하지 않는 것은 흔한 실수입니다.
게터가 없으면 속성을 읽을 수 없으므로, 결국 그 속성은 사용되지 않습니다.

예시

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

js
var o = {
  set a(value) {
    this.val = value;
  },
};

class C {
  set a(value) {
    this.val = value;
  }
}

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

js
var o = {
  set a(value) {
    this.val = value;
  },
  get a() {
    return this.val;
  },
};

class C {
  set a(value) {
    this.val = value;
  }
  get a() {
    return this.val;
  }
}

구성

이 규칙은 다음 속성을 가진 구성 객체를 수락합니다.

enforceForClassMembers

type: boolean

기본값: true

클래스 멤버에 대해 이 규칙을 적용합니다.

enforceForTSTypes

type: boolean

기본값: false

TypeScript 인터페이스 및 타입에 대해 이 규칙을 적용합니다.

getWithoutSet

type: boolean

기본값: false

세터 없이 게터를 경고합니다.

setWithoutGet

type: boolean

기본값: true

게터 없이 세터를 경고합니다.

사용 방법

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

json
{
  "rules": {
    "accessor-pairs": "error"
  }
}
bash
oxlint --deny accessor-pairs

참고 자료