Bit의 개발다이어리

해당 오류는 TypeScript에서 발생하는 컴파일 오류로, 객체 리터럴이나 변수의 타입이 기대하는 형식과 일치하지 않을 때 발생합니다. 오류 메시지는 "Type '{}' is missing the following properties from type"으로 시작하며, 중괄호 {} 안에는 누락된 속성의 목록이 표시됩니다.

이 오류는 주로 인터페이스나 클래스의 속성을 사용하는 곳에서 발생합니다. TypeScript는 정적 타입 검사를 수행하므로, 객체의 속성이나 변수가 해당 타입의 모든 필수 속성을 포함하고 있는지 확인합니다. 만약 속성이 누락되면, 컴파일러는 이 오류를 발생시킵니다.

오류를 해결하기 위해서는 누락된 속성을 추가하거나, 타입을 수정하여 해당 속성을 선택적으로 만들 수 있습니다. 일부 선택적 속성을 사용하려면 인터페이스에서 해당 속성을 옵션으로 지정하면 됩니다. 또는 누락된 속성이 없는지 확인한 후 해당 속성을 추가하여 오류를 수정할 수도 있습니다.

아래는 이 오류가 발생하는 간단한 예시입니다:

interface Person {
  name: string;
  age: number;
  email: string;
}

const person: Person = {
  name: "John",
  age: 30
};


위의 예시에서는 `email` 속성이 누락되었습니다. 따라서 TypeScript는 "Type '{}' is missing the following properties from type 'Person': email"와 같은 오류를 발생시킵니다.

이 경우 `person` 객체에 `email` 속성을 추가하거나, `Person` 인터페이스에서 `email`을 선택적 속성으로 변경하여 오류를 해결할 수 있습니다:

 

interface Person {
  name: string;
  age: number;
  email?: string; // 선택적 속성으로 변경
}

const person: Person = {
  name: "John",
  age: 30,
  email: "john@example.com" // email 속성 추가
};



이렇게 수정하면 오류가 해결되고, `person` 객체는 `Person` 타입과 일치하게 됩니다.

profile

Bit의 개발다이어리

@bit비트

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!