Skip to content
← Back to rules

typescript/consistent-type-assertions 스타일

🛠️💡 An auto-fix and a suggestion are available for this rule for some violations.

작동 방식

TypeScript 타입 문언의 일관된 사용을 강제합니다.

왜 좋지 않은가?

문언 스타일(as 대신 꺾쇠 기호)을 혼용하면 코드를 읽고 유지보수하기 더 어렵습니다. 일부 코드베이스에서는 타입 문언보다 안전한 대안인 타입 주석이나 satisfies를 사용하도록 금지하고 있습니다.

예시

이 규칙에 대한 잘못된 코드 예시 (기본값: assertionStyle: "as"):

ts
const value = <Foo>bar;

이 규칙에 대한 올바른 코드 예시 (기본값: assertionStyle: "as"):

ts
const value = bar as Foo;

assertionStyle: "angle-bracket" 설정 시 잘못된 코드 예시:

ts
const value = bar as Foo;

assertionStyle: "angle-bracket" 설정 시 올바른 코드 예시:

ts
const value = <Foo>bar;

assertionStyle: "never" 설정 시 잘못된 코드 예시:

ts
const value = bar as Foo;

assertionStyle: "never" 설정 시 올바른 코드 예시:

ts
const value: Foo = bar;
const value = bar satisfies Foo;

객체/배열 리터럴 문언이 허용되지 않을 경우, 주석 또는 satisfies를 우선적으로 사용하세요:

ts
// 잘못됨 (다음 경우에 해당: `objectLiteralTypeAssertions: "never"`)
const obj = { a: 1 } as Foo;

// 올바름
const obj: Foo = { a: 1 };
const obj = { a: 1 } satisfies Foo;

구성

assertionStyle

type: "never"

사용 방법

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

json
{
  "rules": {
    "typescript/consistent-type-assertions": "error"
  }
}
bash
oxlint --deny typescript/consistent-type-assertions

참고 자료