• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

자동 추론 관련 질문 드립니다.

21.01.27 20:55 작성 조회수 130

3

interface Test {
  [key: number]: string;
}

const val: Test = {
  1: 'one',
  2: 'two',
};

const valKeys = Object.keys(val); // valKeys의 type이 number[]가 아니라 string[]

Object.keys()의 return type은 string[]로 정해져있는 것 같아요...! 그래서 4분 쯤에 말씀하신 interface를 통해 type을 지정했을 때 forEach나 map의 parameter가 자동 추론이 되게 하려면 추가적인 조치가 필요할 것 같아요~

혹시 좋은 방법 있을까요? 저도 개발하면서 이 부분이 조금 불편했거든요ㅠㅠ

답변 1

답변을 작성해보세요.

0

안녕하세요 윤섭님, 좋은 질문 주셨네요. 보기 편하게 코드도 잘 첨부해 주셔서 감사합니다. 말씀하신 것처럼 Object.keys() API의 반환 타입은 string[] 입니다. API 목적 자체가 객체의 키만 문자열로 뽑아서 배열로 구성하는 거거든요. Object.keys()의 행동을 바꾸시는게 목적이 아니시라면 Object.keys()에 이어서 호출하는 API들은 모두 string으로 추론될겁니다 :)