린팅 및 TypeScrip으로 'any'를 피하기 | Josh Goldberg

ChatGPT로 요약함


TypeScript의 any 타입 사용을 피하기 위한 주요 전략은 다음과 같습니다:

  1. noImplicitAny 설정의 한계:

    • TypeScript의 noImplicitAny 옵션은 암시적인 any 사용을 감지하지만, 명시적인 any 사용은 방지하지 못합니다. (typescript-eslint)
  2. 명시적 any 사용 금지:

    • @typescript-eslint/no-explicit-any 규칙을 사용하여 코드에서 명시적으로 any를 사용하는 것을 방지합니다. (typescript-eslint)
  3. Function 타입 사용 제한:

    • @typescript-eslint/no-unsafe-function-type 규칙을 통해 일반적인 Function 타입 사용을 제한하고, 대신 매개변수와 반환 타입을 명확히 정의합니다.
  4. any 타입의 전파 방지:

    • 다음과 같은 규칙들을 사용하여 any 타입이 코드베이스에 퍼지는 것을 막습니다:
      • @typescript-eslint/no-unsafe-assignment: any 타입 값을 변수나 속성에 할당하는 것을 방지
      • @typescript-eslint/no-unsafe-call: any 타입 값을 함수처럼 호출하는 것을 방지
      • @typescript-eslint/no-unsafe-member-access: any 타입 값의 멤버에 접근하는 것을 방지
      • @typescript-eslint/no-unsafe-return: 함수에서 any 타입 값을 반환하는 것을 방지
  5. unknown 타입 선호:

    • 알 수 없는 타입의 데이터에는 any 대신 unknown 타입을 사용하여 안전성을 높입니다. (typescript-eslint)

이러한 전략들을 통해 any 타입의 무분별한 사용을 효과적으로 방지하고, TypeScript 코드의 안전성과 유지보수성을 향상시킬 수 있습니다.

1개의 좋아요