inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

함수 타입 - 파라미터, 반환값

기본타입 enum 질문

335

이성민

작성한 질문수 5

2

안녕하세요.

핸드북 기본타입 > enum 관련 질문이 있습니다.

Enum 인덱스번호를 사용하여 변수에 값을 담을 때 VSCode tslint에서 빨간 줄이 표시되어집니다.

변수 타입을 enum클래스가 아닌 string 형식으로 구성하라고 표시되어지는데, 최신 버전에서는 enum 인덱스번호로 변수값 설정하는 것이 문제가 있는걸까요?

아니면 제가 값을 코드를 잘못 작성하였는지 궁금합니다..

enum Avengers { Capt, IronMan, Thor }
let capt: Avengers = Avengers[0):

javascript typescript

답변 2

1

캡틴판교

let capt = Avengers.Capt; 형태로 담아보시겠어요? :)

1

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴이에요.

기본타입 enum 관련하여 문의하신 내용에 대해 답변 드리겠습니다.
Enum 인덱스 번호를 사용하여 변수에 값을 담을 경우, tslint에서 빨간 줄이 표시되는 것은 TypeScript에서는 enum 인덱스 값을 직접 사용하는 것이 권장되지 않기 때문입니다. 이는 enum 값이 변경될 경우 코드 리팩토링을 해야 할 수도 있기 때문입니다.

따라서, 변수 타입을 enum 클래스가 아닌 string 형식으로 구성하라는 경고 메시지가 표시되는 것입니다. 여전히 enum 인덱스 번호를 사용해도 문제는 없으나, 더 좋은 방법은 enum 값을 string으로 사용하여 변수값을 설정하는 것입니다. 예를 들어, let capt: Avengers = 'Capt';와 같이 enum 값을 string으로 지정할 수 있습니다.

결론적으로, 최신 버전에서도 enum 인덱스 번호를 사용하여 변수값을 설정하는 것은 문제가 되지 않지만, 좀 더 권장되는 방법은 enum 값을 string으로 사용하는 것입니다.

문의하신 내용이 답변이 되었기를 바라며, 더 궁금하신 사항이 있으시면 언제든지 댓글로 문의해주세요. 감사합니다.

TSLint

0

67

1

vscode eslint server 오류

0

82

1

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

0

77

1

live server 설치 오류

1

374

2

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

0

287

2

npm i 설치 이유 문의

1

407

3

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

2

290

3

vue 에서 jquery 사용 문제

1

697

2

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

1

501

2

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

1

544

1

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

1

453

2

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

2

457

1

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

1

445

2

빨간줄 에러 질문드립니다

1

489

2

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

1

358

2

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

2

395

2

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

1

567

2

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

1

356

2

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

1

325

2

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

1

391

1

전화번호부 타입선언

1

267

2

타입을 전역으로 분리

1

594

2

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

1

460

1

Git 관련 질문이 있습니다

1

672

2