Substituindo a instrução switch por Object Literal
Object Literal é um bom substituto da instrução procedural switch. O switch apresenta alguns problemas — o design do código é bem antigo e procedural; dificulta encontrar um possível bug e podemos esquecer de colocar a instrução break;
no final de cada case
, permitindo passar por cada um sem necessidade; por último o código com switch
fica um pouco mais verboso.
Então, a ideia é utilizar objetos literais (object literals) ao invés do velho switch.
Vamos ver um exemplo de código comparando os dois e você poderá tirar suas próprias conclusões.
Abaixo temos a mesma funcionalidade implementada com switch
e com object literals
:
❌ Switch
A instrução switch é usada para executar ações diferentes de acordo com a entrada, ou seja, é uma estrutura condicional.
No código abaixo, temos um switch que irá atribuir na variável day
um número inteiro que corresponde o dia da semana da data atual que está sendo obtido através da instrução: new Date().getDay()
.
✅ Object Literal
É uma maneira rápida e literal de criar um objeto, passando entre o par de chaves { }
a propriedade e o seu respectivo valor: let obj = { name: "Rocketseat", bootcamp: "Go Stack"}
No código abaixo, temos um objeto literal dayOfTheWeek
que possui os atributos de 0 a 6 e o seus respectivos valores em formato de String com os nomes dos dias da semana.
👊 Conclusão
Mesmo escrevendo funcionalidade semelhantes, percebemos que o código com Object Literal possui menos linhas de código, tendo uma melhor legibilidade e não corremos o risco de esquecer algum break
.
Existem vários casos de uso de como substituir o switch
pelo object literals
. Vamos deixar alguns links caso queira se aprofundar no assunto, e levar seu código para um próximo nível! 🚀
🔗 Links
- switch statements and object literals
- substitua o switch e vários if and else usando object literals
- mdn switch
- mdn object literal
E aí, o que achou da nossa sugestão?
Espero que tenha curtido! 💜
O aprendizado é contínuo e sempre haverá um próximo nível! 🚀