inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

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

Record 타입 질문

해결된 질문

196

kql 1

작성한 질문수 43

0

 interface IProfile {

name: string;

age: number;

school: string;

hobby?: string;

}

 

type eee = "철수" | "영희" | "훈이";

type fff= Record<eee, IProfile>;

fff가 key가 철수,영희,훈이고 value가 IProfile 인것은 이해하는데, 이게 철수,영희,훈이가 뭔 타입을 말하는 건지 모르겠고,이게 뭔 의미인지도 잘 모르겠어요

javascript node.js express docker tdd rest-api nestjs

답변 1

0

노원두

안녕하세요! kql1님!

어떤 타입이 number 타입이라면, "사과"가 들어갈 수 없겠죠?!
마찬가지로 어떤 타입이 string 타입이라면, 3은 들어갈 수 없을거예요!

여기서 number | string 타입은 3도 가능하고, "사과"도 가능해요.
이런 타입을 우리는 Union 타입이라고 불러요(유니온 타입)

마지막으로 string 타입을 조금 더 살펴보면,
어떤 타입이 string 타입이라면, 모든 string이 다 들어갈 수 있어요
하지만, 어떤 타입이 "철수" | "영희" | "훈이" 타입이라면, string 중에서도 "철수" 또는 "영희" 또는 "훈이"만 입력 가능하고 "맹구"는 입력할 수 없겠죠?!

결과적으로 질문을 다시 돌아보면

fff가 key가 철수,영희,훈이고 value가 IProfile 인것은 이해하는데,

key가 "철수" | "영희" | "훈이" 라는 뜻은, key에 맹구는 못 들어간다는 뜻이에요!

type eee = "철수" | "영희" | "훈이";
type fff= Record<eee, IProfile>;

const myfff: fff {
   "철수": {
      name: "사과",
      age: ...,
      school: ...,
      hobby: ...
   },
   "영희": {
      name: ...,
      ...,
   },

   "맹구": { // 이거 안됨

   }
}

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

0

84

2

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

0

76

2

fontawesome 사용 문의

0

79

2

소스 코드 부탁드립니다~

0

85

2

깃 레포지터리 소스

0

86

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

417

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