Typescript 열거형 작동 방식

Enumerations의 줄임말인 Enum은 코드의 다른 곳에서 사용하기 위해 개발자가 정의할 수 있는 미리 설정된 상수입니다.

Javascript 개발자에게 enum의 개념은 일반적으로 새롭지만 상대적으로 이해하기 쉽습니다. 열거형은 우리가 작성하는 내용에 컨텍스트를 추가합니다.

열거형을 정의하는 방법



열거형은 Enum 키워드를 사용하여 Typescript에서 정의할 수 있습니다. 다음은 예입니다.

enum Pet {
    Dog,
    Cat,
    Goldfish,
    Skeleton
}


기본적으로 이들 각각에는 값이 할당됩니다. 따라서 Dog는 0, Cat은 1 등이 됩니다. 애완 동물을 생성하는 함수가 있다고 가정합니다. 이전에는 다음과 같이 작성했을 수 있습니다.

// Generate a Cat
generatePet(1);


이제 수행 중인 작업에 컨텍스트를 추가하고 enum 목록을 사용하여 다음을 수행할 수 있습니다.

// Generate a Cat
generatePet(Pet.Cat);


위의 코드는 이전에 수행한 것과 동일하며 대신 enum을 사용하고 있습니다.

잠깐만요.. 왜 열거형을 사용하나요?



당신은 "요점이 뭐지?"라고 궁금해 할 수 있으며 유효한 질문입니다. 열거형은 본질적으로 우리가 하고 있는 일에 더 많은 맥락을 제공할 수 있게 해줍니다. 사용자가 가능한 애완 동물 번호 목록을 암기하도록 하는 대신 열거형 목록을 사용하도록 간단하게 요청할 수 있습니다. 이것은 또한 우리 코드를 읽는 다음 사람에게 우리가 하려고 했던 것에 대한 더 나은 아이디어를 제공합니다.

숫자 및 문자열 열거형



열거형을 숫자나 문자열로 정의할 수 있습니다. 이것들을 조금 자세히 살펴보자.

enum Pet {
    Dog = 2,
    Cat,
    Goldfish,
    Skeleton
}


위에서 우리는 개에게 숫자 값 2를 부여했습니다. 그 이후의 모든 항목은 1씩 증가하므로 고양이는 3, 금붕어는 4 등이 되지만 원하는 대로 정의할 수도 있습니다.

enum Pet {
    Dog = 2,
    Cat = 9,
    Goldfish = 15,
    Skeleton = 44
}


일반적으로 혼동을 피하기 위해 문자열과 숫자를 혼합하지 않지만 enum을 전체 문자열로 정의할 수도 있습니다.

enum Counting {
    One = "one",
    Two = "two",
    Three = "three"
}


함수의 열거형 값



열거형은 값을 반환하는 함수일 수도 있습니다. 열거형에서 하나의 값만 정의하는 경우 함수는 끝에 와야 합니다. 시작 부분에 함수를 넣으면 모든 열거형에 값이 필요합니다. 따라서 다음은 오류를 발생시킵니다.

// This will throw an error, since the function is at the start
// So typescript assumes all will be functions
enum Counting {
    One = getOne(),
    Two,
    Three,
}


그러나 이것은 다음을 수행하지 않습니다.

enum Counting {
    One,
    Two,
    Three = getThree(),
}


위의 One은 0를 반환하고, Two1를 반환하고, Three는 getThree()의 값을 반환합니다. 예를 들어 우리의 getThree() 함수는 다음과 같이 보일 수 있습니다(값 3을 반환하기 위해).

const getThree = function() {
    return 3;
}


계산된 열거형



열거형은 계산(즉, 계산)되거나 다른 열거형을 참조할 수도 있습니다. 예를 들어:

enum FirstEnum {
    One,   // Returns "0"
    Two,   // Returns "1"
    Three  // Returns "2"
}

enum AnotherEnum {
    One: FirstEnum.One, // returns FirstEnum.One, i.e. "0"
    Two: 1 + 1,         // Calculates and returns "2"
    Three: 1 * 3,       // Calculates and returns "3"
    Star: One           // Refers to AnotherEnum.One, returns "0"
}


결론



열거형은 TypeScript에서 코드에 더 많은 의미를 추가하는 강력한 방법입니다. 그것들은 당신의 코드를 읽는 사람들에게 당신이 무엇을 성취하려고 했는지 알 수 있는 좋은 방법을 제공하고 따라서 당신이 작성한 것의 유지보수성을 향상시킵니다. 또한 코드베이스 전체에서 표준 상수를 참조할 수 있으므로 삶이 더 쉬워집니다.

Typescript Enums에 대한 이 가이드가 마음에 드셨기를 바랍니다. To learn more about TypeScript click here

좋은 웹페이지 즐겨찾기