Typescript에서 객체의 속성을 옵션으로 만들기

다른 유형의 모든 속성이 옵션으로 설정된 유형을 구성하려는 경우 Partial<Type>가 유용한 유틸리티입니다.

이것은 주어진 유형의 하위 집합이 필요할 때 매우 유용합니다.

예를 들어,

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

let persons: Person[] = [
  { name: "Abel", age: 19 },
  { name: "Drake", age: 23 },
  { name: "Lucid", age: 22 },
  { name: "Mark", age: 87 },
];

// takes an argument of 
function searchBySub(subObj: Partial<Person>) {
  return persons.find((person) => {
    return Object.keys(subObj).every((key) => {
      return person[key] === subObj[key];
    });
  });
}


인수 subOjPerson 의 하위 유형만 될 수 있으므로 아래 코드는 유형 오류를 발생시킵니다.

searchBySub({ unknownProperty: "unknown" }) 
// error - Argument of type '{ unknownProperty: string }' is not
// assignable to parameter of type 'Partial<Person>' 

좋은 웹페이지 즐겨찾기