inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스

08-03 Typescript 심화 타입 ( Utility, Generic)

TypeScript Utility 부분 질문드립니다

해결된 질문

325

장정욱

작성한 질문수 10

0

Utility 부분 강의에서 type의 Partial, Required 등을 이용하여 모든 프라퍼티를 옵션으로 바꾸거나 필수로 바꾸는 방법을 가르쳐주셨는데, 특정 하나만 옵션으로 하거나, 특정 하나만 필수인자로 바꾸는 방법은 없을까요?

interface IProfile {

name: string;

age: number;

school: string;

hobby?: string;

friend:? string;

}

으로 정의했다고 하면 여기서 school만 옵션으로 바꾸고 싶다면, 방법이 없을까요?

javascript node.js express docker tdd rest-api nestjs

답변 1

0

노원두

안녕하세요! 정욱님!

해당 interface를 상속받고, school만 오버라이딩 하시면 될 것 같아요!^^

위 내용들은 수업때 간략히 언급했던 내용이므로, 아래를 참고하시면 바로 이해가 되실거예요!

interface AAAAAAA extends IProfile {
   school?: string
}

 

1

장정욱

답글 감사합니다.

말씀하신대로 오버라이딩은 되는데, AAAAAAA 부분에 빨간줄이 그어지면서,
Interface 'AAAAAAA' incorrectly extends interface 'IProfile'. Types of property 'school' are incompatible Type. 이라는 에러가 뜨네요 ㅠ

해결 방법이 없을까요..?

0

노원두

네! 정욱님!

확인 후 드린 답변이었는데, 타입스크립트 버전에따라 문제가 되는 것 같네요!

interface AAAAAAA extends Omit<IProfile, "school"> {
  school?: string
}

위와 같이 수업때 배운 유틸리티 타입을 응용하셔서 해결해 보세요!^^

윈도우에서 Node js를 설치하고 싶어요

0

27

0

그래프 ql 문서 사용할때 느낌표 남는거 어떻게 없애나요?

0

102

2

강의 전체 소스 코드를 받고싶습니다.

0

93

2

fontawesome 사용 문의

0

96

2

소스 코드 부탁드립니다~

0

99

2

깃 레포지터리 소스

0

97

2

커리큘럼12.css 정렬 에 나오는 과제 정답알고싶어요

0

81

2

10-01 Entity TypeOrmModule.forRoot 에 entities

0

102

3

강의 버전관련 문의입니다

0

111

2

Ubuntu 설치 관련

0

74

1

schema.gql 질문 드립니다.

0

63

1

서버 재실행시 Many to Many

0

120

3

input 관련 문의

0

97

2

Rest API 보다는 graphql이 주된 내용인데

0

145

2

강의 전체 소스코드 받을수있을까요?

0

170

1

도커볼륨 마운트 관련

0

136

2

findOne 타입스크립트오류

0

116

1

http => htrtps 호출 인증서 신뢰 오류

0

376

1

self-signed certificate in certificate chain 에러 발생

0

440

1

mongoose 설치 오류

0

149

1

특정 API, 특정 IP 허용 (단일경로에 CORS 활성화)

0

300

2

08-06

0

189

3

구조랑 패턴 관련해서 질문

0

134

2

mydocker

0

135

2