inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

타입스크립트 입문 - 기초부터 실전까지

인터페이스 딕셔너리 패턴

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

211

mives

작성한 질문수 2

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가 자동 추론이 되게 하려면 추가적인 조치가 필요할 것 같아요~

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

es6 javascript typescript

답변 1

0

캡틴판교

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

TSLint

0

66

1

vscode eslint server 오류

0

75

1

안녕하세요. 기본타입- 튜플, 객체, 진위값 부분의 영상의 화면이 나오질 않습니다.

0

77

1

live server 설치 오류

1

368

2

강의 교안 pdf 는 따로 제공하지않나요?

0

284

2

npm i 설치 이유 문의

1

402

3

index.ts Delete `␍`eslintprettier/prettier 오류(빨간줄) 해결

2

289

3

vue 에서 jquery 사용 문제

1

692

2

TSLint 확장 프로그램은 현재 지원하지 않는다고 합니다.

1

499

2

강의 내용처럼 노란 밑줄이 작동하지 않아서 유사 질문들을 실행해보았는데요

1

542

1

section 3-1 JSdoc 타입이 추론되지 않아서 다음과 같이 수정했는데 이거 맞나요?

1

452

2

함수에 리턴 안됐다고 노란밑줄이 쳐져야하는데 없습니다

2

455

1

파일이 다른데 식별자가 중복되었다고 뜹니다.

1

443

2

빨간줄 에러 질문드립니다

1

488

2

마우스 갖다대면 리턴값 설명 나오는 거 질문드려요

1

356

2

js에서 @ts-check 적어도 체크하지 못하는 문제입니다

2

393

2

index.html에서 타입스크립트 콘솔 찍는 법 질문드립니다

1

565

2

섹션 1-3 추론 질문드립니다

1

354

2

왜 api쪽에는 왜 에러가 안나는지 궁금합니다.

1

323

2

const item1을 선언했을 때 타입을 선언해줘도 괜찮을까요?

1

390

1

전화번호부 타입선언

1

265

2

타입을 전역으로 분리

1

592

2

객체 선언 시 구분자는 쉼표, 세미콜론 모두 사용가능한건가요?

1

458

1

Git 관련 질문이 있습니다

1

669

2