Um guia sobre como trabalhar com isso

TypeScript é um superconjunto de JavaScript que ajuda a escrever código com segurança de tipo.

Com o TypeScript, você poderá detectar bugs mais cedo e corrigi-los. Um dos recursos importantes do TypeScript são Enums. Um Enum é uma construção popular em TypeScript que ajuda você a escrever um código mais seguro.

Neste artigo, explicarei Enums, como criá-los e usá-los e muitas outras coisas a serem consideradas.

O que é um Enum?

Enum é a abreviação de tipo enumerado. Um tipo de dados enumerado é definido pelos diferentes valores que uma variável desse tipo pode assumir. Os diferentes valores que pode assumir são frequentemente chamados de membros ou elementos.

Neste artigo, iremos chamá-los de membros. Enums não são apenas um recurso do TypeScript. Em vez disso, os tipos enumerados também estão presentes e são usados ​​em outras linguagens de programação. O uso de enums permite melhor segurança de tipo em programas TypeScript.

Leia também: Principais bibliotecas TypeScript e tempo de execução para conhecer como desenvolvedor

Por que usar enumerações?

Enums ajudam a especificar quais valores uma variável pode conter. Eles também ajudam a especificar quais valores um argumento de função pode assumir. Isso ajuda a garantir que os desenvolvedores sempre forneçam valores esperados para variáveis ​​e argumentos de funções. Isso ajudará a eliminar bugs e a escrever um código mais seguro e robusto.

  O que é computação de borda e por que isso importa?

Pré-requisitos para trabalhar com enums

Neste tutorial, demonstrarei como trabalhar com enums em TypeScript. Para acompanhar este tutorial, você precisa ser capaz de executar e executar código TypeScript.

Portanto, você precisa ter NodeJs instalados para executar seu código JavaScript. Caso você não tenha o TypeScript instalado, o vídeo abaixo é um guia de como fazer isso.

Alternativamente, se você quiser compilar e executar um script imediatamente, use ts-node. Embora seja isso que farei neste artigo, para projetos maiores, recomendo instalar o TypeScript. Para executar um script usando ts-node, use o seguinte comando:

npx ts-node <scriptname>

Este artigo também pressupõe que você esteja familiarizado com JavaScript e TypeScript básico.

Trabalhando com um Enum Simples

Como criar um Enum simples

Enums em TypeScript são criados usando a palavra-chave enum. Segue o nome do enum e, em seguida, uma lista de membros que o enum contém. Aqui está um exemplo onde declaramos uma enumeração para os quatro pontos cardeais da bússola.

enum Direction {
    North,
    East,
    South,
    West
}

Observe que não há aspas entre os membros do enum – eles não são strings.

Como usar um Enum Simples

Você atribui um valor enumerado a uma variável da seguinte maneira:

const heading: Direction = Direction.North;

Como estamos atribuindo a variável na declaração, o TypeScript pode inferir o tipo de dados. Como resultado, não precisamos afirmar o tipo. Em vez disso, podemos escrever isto:

const heading = Direction.North;

Para descobrir qual valor a variável de título tem, podemos console.log.

console.log(heading);

O resultado disso será:

0

A variável de título contém o valor zero, embora tenhamos atribuído o valor Direction.North a ela. Isso ocorre porque cada membro recebe um valor numérico quando as enumerações são criadas. O primeiro membro recebe 0, o segundo 1 e assim por diante. Aqui está uma demonstração:

console.log(Direction.North, Direction.East, Direction.South, Direction.West)

Portanto, você pode verificar se a variável de título contém Norte afirmando que é igual a zero. Por exemplo:

// Asserting equality
let isNorth = heading == 0;

// Printing the result
console.log(isNorth);

Conforme demonstrado anteriormente, Direction.North é igual a 0. Portanto, ao invés de verificar se o rumo é igual a zero, podemos verificar se é igual a Direction.North.

// Checking if direction is North
isNorth = heading == Direction.North;

// Printing the result
console.log(isNorth);

Tudo isso é útil; é provável que seja assim que você usará os valores enumerados. No entanto, você pode fazer mais, como verá mais tarde. A próxima seção discutirá como você pode trabalhar com valores personalizados.

  Como presentear músicas, filmes e muito mais na iTunes Store

Trabalhando com valores personalizados

Quando você cria uma enumeração, o TypeScript atribui automaticamente valores numéricos aos membros começando do zero. No entanto, você pode querer que seus membros tenham valores personalizados em vez dos valores padrão; nesse caso, você pode atribuí-los. Igual a:

enum StarRating {
    VeryPoor = 1,
    Poor = 2,
    Average = 3,
    Good = 4,
    Excellent = 5
}

Como alternativa, você pode fazer o seguinte:

enum StarRating {
    VeryPoor = 1,
    Poor,
    Average,
    Good,
    Excellent
}

Neste caso, será atribuído ao primeiro membro o valor 1. As escolhas subsequentes serão incrementadas automaticamente a partir da escolha anterior. Portanto, Ruim terá uma classificação de 2, uma média de 3 e assim por diante.

  55 melhores aplicativos para Mac OS X de 2021

As escolhas em um enum nem sempre possuem valores numéricos, como você verá mais adiante. No entanto, aqueles com valores numéricos se comportarão como números normais.

console.log(typeof StarRating.Average);

Isso imprimirá “número”. Isso significa que você pode fazer todas as coisas numéricas, inclusive fazer comparações como:

console.log(StarRating.Excellent > StarRating.Average)

Isso imprimirá “verdadeiro”.

Usando Strings como Valores Personalizados

Conforme mencionado anteriormente, as opções de enum podem ter valores de string em vez de apenas números. Veja como você faria isso:

enum Choice {
    RedPill = "Know Everything"
    BluePill = "Know Nothing"
}

Neste caso, as opções de enum se comportarão como as anteriores. No entanto, como os valores são strings, você pode realizar operações com strings, e não operações com números, como no exemplo anterior.

Enums heterogêneos

Você também pode misturar strings e valores numéricos. Isso é desencorajado e não muito útil, mas mesmo assim é possível.

enum Mixed {
    First = "String"
    Second = 2
}

Palavras Finais

Neste artigo, abordamos o que são enums no TypeScript. Também discutimos por que eles são importantes. Também cobrimos os diferentes tipos de valores que os membros da enum podem ter.

A seguir, confira nosso artigo sobre Tipo vs. Interface em TypeScript.