inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

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

TypeScript Utility 부분 질문드립니다

해결된 질문

319

장정욱

작성한 질문수 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
}

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

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

0

84

2

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

0

76

2

fontawesome 사용 문의

0

79

2

소스 코드 부탁드립니다~

0

85

2

깃 레포지터리 소스

0

87

2

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

0

74

2

10-01 Entity TypeOrmModule.forRoot 에 entities

0

89

3

강의 버전관련 문의입니다

0

103

2

Ubuntu 설치 관련

0

61

1

schema.gql 질문 드립니다.

0

51

1

서버 재실행시 Many to Many

0

102

3

input 관련 문의

0

90

2

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

0

131

2

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

0

156

1

도커볼륨 마운트 관련

0

127

2

findOne 타입스크립트오류

0

109

1

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

0

354

1

self-signed certificate in certificate chain 에러 발생

0

418

1

mongoose 설치 오류

0

142

1

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

0

283

2

08-06

0

180

3

구조랑 패턴 관련해서 질문

0

125

2

mydocker

0

128

2

coolsms statuscode 2000 인데 전송안돼는 경우 확인.

0

156

1