Skip to content
← Back to rules

typescript/dot-notation Nursery

💭 This rule requires type information.

작동 방식

obj.prop처럼 안전하게 작성할 수 있는 프로퍼티 접근 시에는 항상 점 표기법을 사용하도록 강제합니다.

왜 좋지 않은가?

정적 프로퍼티 이름에 대해 점 표기법은 대개 괄호 표기법보다 더 가독성과 간결성을 갖춥니다.

예시

이 규칙에 부적절한 코드 예시:

ts
obj["name"];
foo["bar"];

이 규칙에 적절한 코드 예시:

ts
obj.name;
foo.bar;

obj[key];
obj["not-an-identifier"];

구성

이 규칙은 다음 속성을 가지는 구성 객체를 수용합니다.

allowIndexSignaturePropertyAccess

type: boolean

기본값: false

인덱스 서명에 포함된 프로퍼티에 대해 괄호 표기법을 허용합니다.

allowKeywords

type: boolean

기본값: true

ES3 키워드 프로퍼티 이름(예: obj["class"])에 대해 괄호 표기법을 허용합니다.

allowPattern

type: string

기본값: ""

괄호 표기법을 사용할 수 있도록 허용하는 프로퍼티 이름의 정규 표현식 패턴입니다.

allowPrivateClassPropertyAccess

type: boolean

기본값: false

private 클래스 멤버에 대해 괄호 표기법을 허용합니다.

allowProtectedClassPropertyAccess

type: boolean

기본값: false

protected 클래스 멤버에 대해 괄호 표기법을 허용합니다.

사용 방법

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

json
{
  "rules": {
    "typescript/dot-notation": "error"
  }
}
bash
oxlint --type-aware --deny typescript/dot-notation

참고자료