유형 선언과 유형 어설션

간단한 대답: Type Assertion보다 Type Declaration을 선호해야 하는 이유는 무엇입니까? 함께 읽기…

TypeScript에서 변수에 유형을 제공하는 두 가지 방법이 있습니다.
  • 유형 선언
  • 유형 어설션

  • 이 두 가지 방법의 차이점과 어떤 방법을 언제 사용해야 하는지 알아보겠습니다. 아래 코드에서 다음 변수에 유형을 제공하는 데 사용되는 Hero라는 인터페이스를 정의하고 있습니다. Type Declaration를 사용하여 변수 drow에 유형을 할당하고 Type Assertion를 사용하여 변수 centaur에 유형을 할당합니다.

    interface Hero { 
      name: string, 
      type: string 
    };
    
    // Type Declaration
    const drow: Hero = { name: 'Drow Ranger', type: 'agility' };
    
    // Type Assertion
    const centaur = { 
      name: 'centaur warrunner',
      type: 'strength'
    } as Hero;
    


    위의 예에서와 같이 완벽한 세계에서는 두 객체 모두 예상 필드를 가지며 두 유형 할당 유형 간에 차이가 없습니다. 다음 시나리오에서 이것이 어떻게 작동하는지 봅시다.

    유형 선언



    유형 선언은 값이 인터페이스를 준수하는지 확인합니다. 다음 예제는 이를 준수하지 않으므로 Typescript에서 오류가 발생합니다.

    // Error: Properties missing in the type
    const drow: Hero = {};
    
    // Error: 'isAvailable' does not exist on type Hero
    const drow: Hero = {
      name: 'centaur warrunner',
      type: 'strength',
      isAvailable: true,
    };
    


    타입 어설션



    Type Assertion은 타입 검사기에게 당신이 그것보다 타입을 더 잘 이해하고 오류를 던지지 말라고 알려줍니다.

    // No Error
    const drow = {} as Hero;
    
    // No Error
    const drow = {
      name: 'centaur warrunner',
      type: 'strength',
      isAvailable: true,
    } as Hero;
    


    따라서 결론적으로 추가 안전 검사를 제공하기 때문에 유형 선언보다 유형 선언을 사용해야 합니다. Type Assertion을 사용할 특정 사용 사례가 없는 한.

    모두 여러분, 행복한 해킹 🙌

    좋은 웹페이지 즐겨찾기