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