2.13 객체 간에 대입할 수 있는지 확인하는 법을 배우자

    2.10절에서 객체 리터럴이 아닌 변수를 대입할 때는 잉여 속성 검사가 진행되지 않는다고 설명했습니다. 변수를 대입할 때는 객체 간에 대입할 수 있는지 여부를 따져봐야 하는데, 이번 절에서 살펴보겠습니다.

    interface A {
      name: string;
    }
    interface B {
      name: string;
      age: number;
    }
    
    const aObj = {
      name: 'zero',
    }
    const bObj = {
      name: 'nero',
      age: 32,
    }
    const aToA: A = aObj;
    const bToA: A = bObj;
    const aToB: B = aObj;
    // Property 'age' is missing in type '{ name: string; }' but required in type 'B'.
    const bTob: B = bObj;
    
    신간 소식 구독하기
    뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.