2017-12-13 12 views
1

여러 곳에서 사용하고 싶은 열거 형을 사용하고 있습니다.TypeScript : 열거 형 이름을 지정하지 않고 열거 형 요소 사용

export enum MyEnum { 
    MY_VALUE, 
    MY_SECOND_VALUE 
} 

내가 값 앞에 열거 이름을 지정해야 사용할 때마다, 예를 들면 :

MyEnum.MY_VALUE 

Q :인가가 가능한을 가져 의이 같은 열거 가정 해 봅시다 이름을 지정하지 않아도되는 방식으로 열거합니까?

내가 직접 값을 사용하고 싶습니다 : 그것은 고정 수입라고 자바 세계에서

MY_VALUE 

. 하지만 그 TypeScript 같은 anithing을 발견하지 못했습니다.

내 TypeScript 버전은 2.5.3입니다.

답변

2

Typescript에서 정적 가져 오기 구문은 없습니다.

당신은 상수 값 멤버를 할당하고 그 사용할 수 있습니다 : 당신이 그들을 사용할 필요는 수출 모듈의 상수로 열거 값을 정의하면

const MY_VALUE = MyEnum.MY_VALUE; 

, 당신은 쉽게 다른 곳의 값을 가져올 수 있습니다 :

// enumModule .ts 
export enum MyEnum { 
    MY_VALUE, 
    MY_SECOND_VALUE 
} 

export const MY_VALUE = MyEnum.MY_VALUE; 
export const MY_SECOND_VALUE = MyEnum.MY_SECOND_VALUE; 

// Other file.ts 
import { MY_SECOND_VALUE, MY_VALUE } from './enumModule' 
+0

감사합니다. 그것은 작동합니다. TypeScript 세계에서 이런 것들을 구현하는 것이 좋은 습관입니까? 솔직히 말하면 조금 추해 보입니다. 열거 형의 요점은 무엇입니까? 방금 문자열 상수를 선언 할 수있었습니다. –

+0

내가 아는 한 나쁜 습관은 아니지만 일반적으로 사용되는 것을 보지 못했습니다. TS/JS에서 수입 작업을하는 방식의 장점은 수입자가 수입 대상에 대해 명시 적으로 적용하므로 원하지 않는 갈등이 발생하지 않는다는 것입니다. 열거 형을 사용하면 모든 상수 유형을 지정하는 대신 함수 입력을 열거 형으로 제한 할 수 있다는 이점이 있습니다. 'c : p (MyEnum) {}'vs' function c2 (p : typeof MY_VALUE | typeof MY_SECOND_VALUE) {}' –