-
카테고리
-
세부 분야
프로그래밍 언어
-
해결 여부
미해결
interface type정의시 Object.values의 타입 지정을 어떻게 해주어야 할지 궁금합니다.
22.10.26 12:54 작성 조회수 392
1
현재 강의 내용 처럼 딕셔너리 패턴으로 interface를 작성하는게 아닌 아래 코드처럼 하나의 key에 대한 type을 지정해주고 Object.values로 생성한 array의 array method를 사용해 value 타입을 보면 typescript가 value들의 타입을 인지하지 못해 any 타입으로 되는 것 같습니다.
위 상황에서 value의 type을 설정해 주려면 아래 코드처럼 value에 직접 타입을 넣어주어야 하는 것일까요?
아니면 다른 방법이 있는건지 궁금합니다.
interface StringRegexDictionary {
regExp: RegExp;
str: string;
obj: {
one: number;
two: string;
};
}
const obj: StringRegexDictionary = {
regExp: /abc/,
str: 'string value',
obj: {
one: 1,
two: '둘',
},
};
Object.keys(obj).forEach(key => {
console.log(key);
});
Object.values(obj).forEach(
(
value: (RegExp | string) & {
one: number;
two: string;
}
) => {
console.log(value);
}
);
답변을 작성해보세요.
0
장기효(캡틴판교)
지식공유자2022.10.31
안녕하세요, 원하시는게 keyof 일까요? 객체의 key와 value의 타입을 구하는 방법은 아래 링크 참고해 보시면 될 것 같아요 :)
https://stackoverflow.com/questions/53662208/types-from-both-keys-and-values-of-object-in-typescript
답변 1