VSCode가 사용하는 Typescript 버전 수정

// src/@types/index.d.ts
declare namespace Admin {
  interface InitialStateFromDB {
    teamSettings: {
      teamPasswords: TeamPassword[],
      teamCount: number
    },
    adminPasswords: string,
    postInfos: PostInfo[] | undefined
  }
  interface InitialState extends Omit<InitialStateFromDB, 'adminPasswords'> {
    adminPasswords: AdminPassword
  }
}

VSCode Intellisense가 Omit에 에러를 표시했다.

Cannot find name 'Omit'.ts(2304)

나는 인터넷에서 Omit을 정의한것을 찾아서 복붙해줬고, 에러메세지는 없어졌다. 그런데 컴파일할때 다음과 같은 에러가 발생했다.

'Omit' was also declared here.

다른곳에 Omit이 이미 정의되어 있다는 것이다. 그렇다, 최신버전의 Typescript에는 Omit이라던지, Extract같은 Advanced Type이 제공된다. 나는 Stackoverflow에 이에 대해서 질문을 올렸고, 결국 뭐가 문제인지 알아냈다.

VSCode는 Typescript v3.4.5를 사용하고 있었고, 내 프로젝트에는 Typescript v3.5.1이 사용되고 있었다. 그래서 VSCode가 v3.5.1을 사용하도록 설정했고,

Intellisense가 아까와 같은 에러메세지를 뿜지 않았다.

댓글 남기기

이메일은 공개되지 않습니다. 필수 입력창은 * 로 표시되어 있습니다

Up Next:

Typescript 기초(2) – Variable Declarations

Typescript 기초(2) – Variable Declarations