01 de abril de 2023 • 4 min de leitura
Como usar Object Literals para substituir IFs e Switches em JavaScript
Neste artigo, vamos explorar as vantagens do uso de object literals e como eles podem ser usados para substituir IFs e Switches em seu código JavaScript.
Vantagens do uso de Object Literals:
Object literals oferecem várias vantagens em relação a IFs e Switches:
- Legibilidade: Com object literals, seu código se torna mais legível e fácil de entender. Em vez de uma série de condições aninhadas, você tem um objeto claro e conciso que descreve as possibilidades.
- Manutenção: Object literals tornam a manutenção do seu código mais fácil. Se você precisa adicionar ou remover uma possibilidade, pode fazer isso facilmente no objeto, em vez de ter que alterar várias condições.
- Desempenho: Object literals tendem a ser mais rápidos do que IFs e Switches, especialmente quando se trata de muitas possibilidades.
Como usar Object Literals para substituir IFs e Switches: Agora que entendemos as vantagens do uso de object literals, vamos ver como eles podem ser usados para substituir IFs e Switches.
Considere o seguinte exemplo usando um Switch:
function getAnimalSound(animal) {
switch (animal) {
case 'cat':
return 'Meow';
case 'dog':
return 'Woof';
case 'cow':
return 'Moo';
default:
return 'Unknown animal!';
}
}`
Podemos refatorar esse código usando object literals da seguinte maneira:
const animalSounds = {
cat: 'Meow',
dog: 'Woof',
cow: 'Moo',
};
function getAnimalSound(animal) {
return animalSounds\[animal] || 'Unknown animal!';
}
Observe que estamos usando um objeto animalSounds para armazenar os sons dos animais. Em seguida, usamos uma única linha de código para retornar o som do animal correspondente. Se o animal não estiver no objeto, retornamos a mensagem "Unknown animal!".
Aqui está outro exemplo usando um IF aninhado:
function getGrade(score) {
if (score >= 90) {
return 'A';
} else {
if (score >= 80) {
return 'B';
} else {
if (score >= 70) {
return 'C';
} else {
if (score >= 60) {
return 'D';
} else {
return 'F';
}
}
}
}
}
Podemos refatorar esse código usando object literals da seguinte maneira:
const grades = {
90: 'A',
80: 'B',
70: 'C',
60: 'D',
default: 'F',
};
function getGrade(score) {
const grade = Object.keys(grades).find((key) => score >= key) || 'default';
return grades[grade];
}
Observe que estamos usando um objeto grades
para armazenar as notas correspondentes a cada pontuação. Em seguida, usamos uma única linha de código para encontrar a nota correspondente à pontuação do aluno. Se a pontuação não corresponder a nenhuma chave do objeto, usamos a chave "default" para retornar a nota "F".
Conclusão:
O uso de object literals pode ser uma ótima maneira de substituir IFs e Switches em seu código JavaScript. Eles oferecem várias vantagens em relação aos blocos IFs e Switches, como legibilidade, manutenção e desempenho. Além disso, o uso de object literals pode tornar seu código mais conciso e fácil de entender. Então, da próxima vez que você estiver lidando com blocos IFs e Switches confusos, considere refatorar seu código usando object literals.