반응형
형식 지정 열거형 값을 배열로 표시
TypeScript에서 열거형의 값을 배열로 얻을 수 있는가?
다음과 같은 경우:
enum MyEnum {
FOO = 'foo',
BAR = 'bar'
}
된다
['foo', 'bar']
예, 다음과 같은 기능을 사용할 수 있다.
Object.values(MyEnum)
enum은 컴파일 후 JS 객체이기 때문에:
var MyEnum;
(function (MyEnum) {
MyEnum["FOO"] = "foo";
MyEnum["BAR"] = "bar";
})(MyEnum || (MyEnum = {}));
가장 간단한 방법은string
을 열거하다Object.values
enum MyEnum {
FOO = 'foo',
BAR = 'bar'
}
console.log(Object.values(MyEnum));
완전히 입력된 코드의 경우 템플릿 리터럴 연산자의 도움을 받아 유형으로 값 목록을 유추할 수 있다.
enum MyEnum {
FOO = 'foo',
BAR = 'bar'
}
type MyEnumValue = `${MyEnum}`
// => type MyEnumValue = "foo" | "bar"
const values: MyEnumValue[] = Object.values(MyEnum)
// => ["foo", "bar"]
참조 문서:동적으로 열거형 값 가져오기(제명자: 작성자)
편집:
임호 @ 표도르 용액은 끈 에눔을 덮기 때문에 더 깨끗하다.
const enumAsArray = Object.values(MyEnum).filter(value => typeof value === 'string')
참조URL: https://stackoverflow.com/questions/56036446/typescript-enum-values-as-array
반응형
'programing' 카테고리의 다른 글
페이지 새로 고침 없이 Vuex 상태가 업데이트되지 않음 (0) | 2022.03.07 |
---|---|
정적 함수를 Ract ES6 클래스로 호출 (0) | 2022.03.07 |
생성 시그니처가 있는 인터페이스는 어떻게 작동하는가? (0) | 2022.03.07 |
서로 다른 시작점과 끝점으로 어레이 반복 (0) | 2022.03.07 |
vue-roouter를 사용하여 소품에 쿼리 바인딩 (0) | 2022.03.07 |