타입스크립트와 구조적 타이핑
구조적 타이핑을 보여주는 코드 정의된 코드 타입을 충족한다면 타입스크립트는 동일 타입으로 간주한다. DogInfo와 mallangInfo 타입이 완전 똑같지 않지만 타입스크립트는 정의된 코드를 충족시킨다고 보고 오류 발생시키지 않는다. interface DogInfo { name: string; age: number; } const mallangInfo = { name: "mallang", age: 5, weight: "3kg", likes: ["chicken", "snack"], }; const getMallangAge = (info: DogInfo) => { return info.age; }; getMallangAge(mallangInfo); 구조적 타이핑으로 인한 구조적 타입과 유니언 타입의 차이 ..
타입스크립트 챌린지
2023. 9. 15. 23:45
CustomOmit
관심을 가진 이유 타입스크립트는 타입의 모양으로 비교하기 때문에 notation이 달라도 에러를 내뱉지 않는다. 따라서 기존 Omit에서 두 번째 파라미터 타입에 유효하지 않은 키가 입력되어도, 오타를 내도 에러를 발생하지 않는 게 불편하게 느껴졌다. 타입이 좁혀있지 않기 때문에, 원하는 프로퍼티를 복사 붙여넣기 하는 것도 불필요하게 느껴졌다. CustomOmit을 통해서, 첫 번째 파라미터로 오리지널 타입 입력하면 두 번째 파라미터 타입이 좁혀지게 구현했다. 코드 type CustomOmit = { [P in Exclude]: T[P]; };
타입스크립트 챌린지
2023. 9. 8. 23:54