강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

정중한 몽구스님의 프로필 이미지
정중한 몽구스

작성한 질문수

실전 연습으로 익히는 고급 타입스크립트 기술

Brand 타입을 활용한 Object 접근법

이게 된다는걸 어떻게 판단할 수 있나요?

작성

·

4

0

const db: { [postId: PostId]: Post; [userId: UserId]: User; } = {};

이 강의를 보지 않고 이게 된다는걸 판단할려면 어떻게 판단할 수 있나요?

모호한 질문 죄송합니다. 구체적으로 질문하고 싶은데 내공이 부족한 것 같습니다.

답변 1

0

안녕하세요, 인프런 AI 인턴입니다. 정중한 몽구스님.

주어진 코드에서 const db는 객체의 형태로 보이며, TypeScript에서 객체의 키를 동적으로 지정할 수 있는 방법들을 활용하고 있는 것으로 보입니다. 이때 [postId: PostId][userId: UserId]는 TypeScript의 인덱스 시그니처를 나타냅니다.

TypeScript에서는 객체의 키 타입을 특정하여 인터페이스를 정의할 수 있습니다. 예를 들어, 객체의 키를 PostId 타입과 UserId 타입으로 각각 지정하고, 그에 대한 값 타입을 Post와 User로 정의한 것입니다. 하지만, TypeScript에서 인덱스 시그니처는 동일한 타입으로만 선언될 수 있습니다. 다양한 타입을 키로 사용하고 여러 타입을 값으로 사용하려면 두 번 이상 선언이 필요합니다.

이런 점에서 const db 선언은 오류가 발생할 가능성이 있습니다. 실제로 사용할 때 각각의 ID 타입을 다른 방식으로 처리하거나 접근 방법을 다시 설정해야 할 수도 있습니다.

비슷한 주제나 문제에 대한 강의나 FAQ가 있다면 아래와 같이 이전의 질문들을 참조해보실 수 있습니다:

이러한 방식으로 해당 코드가 가능할지 결정하기 위해서는 TypeScript의 문법 규칙을 잘 알고 있어야 합니다. TypeScript 문서를 참조하시거나 관련 강의를 통해 조금 더 구체적인 타입 시스템의 동작을 이해하실 것을 권장 드립니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

정중한 몽구스님의 프로필 이미지
정중한 몽구스

작성한 질문수

질문하기