Skip to content
← Back to rules

typescript/parameter-properties 스타일

작동 방식

클래스 생성자에서 매개변수 속성의 사용을 허용하거나 금지합니다.

왜 문제가 되는가?

매개변수 속성과 클래스 속성 선언을 혼용하면 클래스 스타일이 일관되지 않게 되고 유지보수가 어려워집니다.

예시

{ "prefer": "class-property" } (기본값)

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

ts
class Foo {
  constructor(private name: string) {}
}

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

ts
class Foo {
  name: string;
  constructor(name: string) {
    this.name = name;
  }
}

{ "prefer": "parameter-property" }

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

ts
class Foo {
  name: string;
  constructor(name: string) {
    this.name = name;
  }
}

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

ts
class Foo {
  constructor(private name: string) {}
}

구성 방법

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

allow

type: array

기본값: []

prefer 옵션에 따라 매개변수 속성 또는 클래스 속성과 함께 사용할 수 있는 수정자입니다.

allow[n]

type: "private" | "private readonly" | "protected" | "protected readonly" | "public" | "public readonly" | "readonly"

prefer

type: "class-property" | "parameter-property"

기본값: "class-property"

매개변수 속성보다 클래스 속성, 또는 반대로 사용하는 것을 선호합니다.

사용 방법

이 규칙을 구성 파일 또는 명령줄 인터페이스에서 활성화하려면 다음을 사용하세요:

json
{
  "rules": {
    "typescript/parameter-properties": "error"
  }
}
bash
oxlint --deny typescript/parameter-properties

참고 자료