{"id":11231,"date":"2023-09-13T05:54:13","date_gmt":"2023-09-13T08:54:13","guid":{"rendered":"https:\/\/www.homehost.com.br\/blog\/?p=11231"},"modified":"2024-04-12T18:46:20","modified_gmt":"2024-04-12T21:46:20","slug":"switch-javascript","status":"publish","type":"post","link":"https:\/\/www.homehost.com.br\/blog\/javascript\/switch-javascript\/","title":{"rendered":"Switch JavaScript: O que \u00e9 e como usar?"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">No contexto da programa\u00e7\u00e3o, <strong>o comando &#8220;Switch&#8221; JavaScript \u00e9 um mecanismo crucial para a tomada de decis\u00f5es condicionais. <\/strong>Funcionando como uma ferramenta flex\u00edvel, ele se adequa a m\u00faltiplos cen\u00e1rios, simplificando a gest\u00e3o de decis\u00f5es atrav\u00e9s de uma sintaxe limpa e eficiente.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Sua capacidade de <strong>lidar com variados tipos de dados<\/strong> o torna essencial para desenvolvimento web e cria\u00e7\u00e3o de jogos interativos.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Este artigo, portanto, detalhar\u00e1 sua funcionalidade e aplica\u00e7\u00e3o, delimitando sua import\u00e2ncia e versatilidade para adaptar-se \u00e0s demandas espec\u00edficas de um projeto.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Artigos relacionados:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/www.homehost.com.br\/blog\/javascript\/javascript-splice\/\">JavaScript&nbsp;Splice: adicionando e removendo elementos<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/www.homehost.com.br\/blog\/javascript\/javascript-length\/\">JavaScript&nbsp;.length: fun\u00e7\u00e3o ou n\u00e3o fun\u00e7\u00e3o?<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/www.homehost.com.br\/blog\/javascript\/split-javascript\/\">Split JavaScript: dividir uma string em array<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/www.homehost.com.br\/blog\/javascript\/filter-javascript\/\">Filter JavaScript: filtrando e gerindo dados<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/www.homehost.com.br\/blog\/javascript\/array-javascript\/\">Array JavaScript: como manipular vetores<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/www.homehost.com.br\/blog\/javascript\/for-javascript\/\">For JavaScript: como usar esse la\u00e7o de repeti\u00e7\u00e3o<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/www.homehost.com.br\/blog\/javascript\/if-javascript\/\">If JavaScript: O que \u00e9 e como funciona?<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/www.homehost.com.br\/blog\/javascript\/else-if-javascript\/\">Else if JavaScript: Como usar?<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/www.homehost.com.br\/blog\/javascript\/dom-javascript\/\">DOM JavaScript: O que \u00e9 e como funciona?<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/www.homehost.com.br\/blog\/javascript\/while-javascript\/\">While JavaScript: um guia completo<\/a><\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><div id=\"ez-toc-container\" class=\"ez-toc-v2_0_72 ez-toc-wrap-center counter-hierarchy ez-toc-counter ez-toc-custom ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Conte\u00fado<\/p>\n<span class=\"ez-toc-title-toggle\"><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/www.homehost.com.br\/blog\/javascript\/switch-javascript\/#O_que_e_o_Switch_JavaScript\" title=\"O que \u00e9 o Switch JavaScript?\">O que \u00e9 o Switch JavaScript?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/www.homehost.com.br\/blog\/javascript\/switch-javascript\/#Sintaxe_Basica\" title=\"Sintaxe B\u00e1sica\">Sintaxe B\u00e1sica<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/www.homehost.com.br\/blog\/javascript\/switch-javascript\/#Expressao\" title=\"Express\u00e3o\">Express\u00e3o<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/www.homehost.com.br\/blog\/javascript\/switch-javascript\/#Valor_do_case_N\" title=\"Valor do case N\">Valor do case N<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/www.homehost.com.br\/blog\/javascript\/switch-javascript\/#Default\" title=\"Default\">Default<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/www.homehost.com.br\/blog\/javascript\/switch-javascript\/#Exemplos_profissionais\" title=\"Exemplos profissionais\">Exemplos profissionais<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/www.homehost.com.br\/blog\/javascript\/switch-javascript\/#Vantagens_do_Switch_em_JavaScript\" title=\"Vantagens do Switch em JavaScript\">Vantagens do Switch em JavaScript<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/www.homehost.com.br\/blog\/javascript\/switch-javascript\/#Limitacoes_e_Consideracoes\" title=\"Limita\u00e7\u00f5es e Considera\u00e7\u00f5es\">Limita\u00e7\u00f5es e Considera\u00e7\u00f5es<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-9\" href=\"https:\/\/www.homehost.com.br\/blog\/javascript\/switch-javascript\/#Dicas_para_um_Uso_Eficiente\" title=\"Dicas para um Uso Eficiente\">Dicas para um Uso Eficiente<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-10\" href=\"https:\/\/www.homehost.com.br\/blog\/javascript\/switch-javascript\/#Conclusao\" title=\"Conclus\u00e3o\">Conclus\u00e3o<\/a><\/li><\/ul><\/nav><\/div>\n<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"O_que_e_o_Switch_JavaScript\"><\/span>O que \u00e9 o Switch JavaScript?<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">A instru\u00e7\u00e3o <strong><code>switch<\/code><\/strong> avalia uma <strong>express\u00e3o<\/strong>. Ela compara o valor da express\u00e3o com uma s\u00e9rie de <strong>cl\u00e1usulas case<\/strong>. Quando encontra um valor correspondente, executa as instru\u00e7\u00f5es subsequentes, a menos que se encontre uma instru\u00e7\u00e3o <strong><code>break<\/code><\/strong>. Ignora-se a <strong>cl\u00e1usula padr\u00e3o<\/strong> se nenhum case coincidir com o valor da express\u00e3o. Por exemplo:<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter is-resized\"><img fetchpriority=\"high\" decoding=\"async\" src=\"https:\/\/lh6.googleusercontent.com\/AE8lKdazEgLkPGr0_6N-4yvY8jNGRP-8ZiBMN7D3M1REGosI-euW8rkWODRF9bMDqhzYAWlEMDzLZ0bKrKxZFGQKK5_i9WJXKloTlek18NcCpTZJKnvvwiJawmoWPmiOlL87XK8sU09rhHxLJXtpHEk\" alt=\"\" width=\"1600\" height=\"900\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Sintaxe_Basica\"><\/span>Sintaxe B\u00e1sica<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">A sintaxe b\u00e1sica do <strong><code>switch <\/code><\/strong>em JavaScript:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>switch (expressao) {\n\n&nbsp;&nbsp;&nbsp;&nbsp;case valor1:\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/\/ c\u00f3digo a ser executado se expressao === valor1\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break;\n\n&nbsp;&nbsp;&nbsp;&nbsp;case valor2:\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/\/ c\u00f3digo a ser executado se expressao === valor2\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break;\n\n&nbsp;&nbsp;&nbsp;&nbsp;\/\/ ... mais casos\n\n&nbsp;&nbsp;&nbsp;&nbsp;default:\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/\/ c\u00f3digo a ser executado se nenhum caso corresponder\n\n}<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Expressao\"><\/span>Express\u00e3o<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Uma <strong>express\u00e3o <\/strong>cujo resultado compara-se com <strong>cada cl\u00e1usula case<\/strong>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Valor_do_case_N\"><\/span>Valor do case N<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Uma cl\u00e1usula case usada para corresponder \u00e0 <strong>express\u00e3o<\/strong>. Se a express\u00e3o corresponder ao <strong>valorN<\/strong> especificado (que pode ser qualquer express\u00e3o), a execu\u00e7\u00e3o come\u00e7ar\u00e1 a partir da primeira instru\u00e7\u00e3o ap\u00f3s a cl\u00e1usula case <strong>at\u00e9 o final da instru\u00e7\u00e3o <strong><code>switch <\/code><\/strong>ou o primeiro <\/strong><code><strong>break<\/strong> <\/code>encontrado.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Default\"><\/span>Default<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Uma cl\u00e1usula padr\u00e3o, se fornecida, ser\u00e1 executada se o valor da express\u00e3o n\u00e3o corresponder a nenhuma das cl\u00e1usulas case. Dessa maneira, uma instru\u00e7\u00e3o <strong><code>switch<\/code><\/strong> s\u00f3 pode ter uma cl\u00e1usula padr\u00e3o.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A seguir um exemplo mais pr\u00e1tico:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>const diaDaSemana = \"quarta\";\n\nswitch (diaDaSemana) {\n\n&nbsp;&nbsp;&nbsp;&nbsp;case \"segunda\":\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;console.log(\"Hoje \u00e9 segunda-feira.\");\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break;\n\n&nbsp;&nbsp;&nbsp;&nbsp;case \"quarta\":\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;console.log(\"Hoje \u00e9 quarta-feira.\");\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break;\n\n&nbsp;&nbsp;&nbsp;&nbsp;\/\/ ...\n\n&nbsp;&nbsp;&nbsp;&nbsp;default:\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;console.log(\"Dia n\u00e3o reconhecido.\");\n\n}<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Exemplos_profissionais\"><\/span>Exemplos profissionais<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Tradu\u00e7\u00e3o de Idioma<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>function traduzirMensagem(mensagem, idioma) {\n\n&nbsp;&nbsp;&nbsp;&nbsp;switch (idioma) {\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case \"en\":\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return tradu\u00e7\u00e3oParaIngles(mensagem);\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case \"fr\":\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return tradu\u00e7\u00e3oParaFrances(mensagem);\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case \"es\":\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return tradu\u00e7\u00e3oParaEspanhol(mensagem);\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;default:\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return mensagem; \/\/ Manter a mensagem original se o idioma n\u00e3o for suportado\n\n&nbsp;&nbsp;&nbsp;&nbsp;}\n\n}<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">A fun\u00e7\u00e3o <strong><code>traduzirMensagem<\/code><\/strong> usa um <strong><code>switch<\/code><\/strong> para traduzir mensagens para diferentes idiomas com base no c\u00f3digo de idioma fornecido. Assim, isso \u00e9 \u00fatil em aplicativos multil\u00edngues.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Controle de Acesso de Usu\u00e1rios<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>function verificarAcessoUsuario(usuario) {\n\n&nbsp;&nbsp;&nbsp;&nbsp;switch (usuario.tipo) {\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case \"administrador\":\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;exibirPainelAdmin();\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break;\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case \"cliente\":\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;exibirPainelCliente();\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break;\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case \"convidado\":\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;exibirMensagemAcessoRestrito();\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break;\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;default:\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;exibirMensagemErroAcesso();\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break;\n\n&nbsp;&nbsp;&nbsp;&nbsp;}\n\n}<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">A fun\u00e7\u00e3o acima usa um <strong><code>switch<\/code><\/strong> para determinar o tipo de usu\u00e1rio e conceder acesso a recursos apropriados com base nessa informa\u00e7\u00e3o, como exibir um painel de administra\u00e7\u00e3o ou uma mensagem de acesso restrito.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Avalia\u00e7\u00e3o de Desempenho de Estudantes<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>function avaliarDesempenhoAluno(nota) {\n\n&nbsp;&nbsp;&nbsp;&nbsp;switch (true) {\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case nota &gt;= 90:\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return \"A+\";\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case nota &gt;= 80:\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return \"A\";\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case nota &gt;= 70:\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return \"B\";\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case nota &gt;= 60:\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return \"C\";\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;default:\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return \"F\";\n\n&nbsp;&nbsp;&nbsp;&nbsp;}\n\n}<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">A fun\u00e7\u00e3o acima usa um <strong><code>switch<\/code><\/strong> com express\u00f5es booleanas para determinar a nota de um aluno com base em sua pontua\u00e7\u00e3o, esse exemplo tamb\u00e9m \u00e9 uma quest\u00e3o popular para quem est\u00e1 iniciando um ensino superior, a seguir como implementar esse <strong><code>switch<\/code><\/strong> em um c\u00f3digo completo para executar.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;div id=\"resultado\"&gt;\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;!-- O resultado ser\u00e1 exibido aqui --&gt;\n\n&nbsp;&nbsp;&nbsp;&nbsp;&lt;\/div&gt;\n\n&nbsp;&nbsp;&nbsp;&nbsp;&lt;script&gt;\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;function avaliarDesempenhoAluno(nota) {\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;switch (true) {\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case nota &gt;= 90:\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return \"A+\";\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case nota &gt;= 80:\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return \"A\";\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case nota &gt;= 70:\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return \"B\";\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case nota &gt;= 60:\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return \"C\";\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;default:\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return \"F\";\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/\/ Array com nomes e notas dos alunos\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;const alunos = &#091;\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{ nome: \"Alice\", nota: 92 },\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{ nome: \"Bob\", nota: 78 },\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{ nome: \"Carol\", nota: 88 },\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{ nome: \"David\", nota: 65 },\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{ nome: \"Eva\", nota: 72 },\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;];\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/\/ Elemento onde exibiremos o resultado\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;const resultadoDiv = document.getElementById(\"resultado\");\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/\/ Loop para avaliar e exibir o desempenho de cada aluno\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for (let i = 0; i &lt; alunos.length; i++) {\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;const aluno = alunos&#091;i];\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;const desempenho = avaliarDesempenhoAluno(aluno.nota);\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;resultadoDiv.innerHTML += `&lt;p&gt;Aluno ${i + 1}: ${aluno.nome}, Nota: ${aluno.nota}, Desempenho: ${desempenho}&lt;\/p&gt;`;\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}\n\n&nbsp;&nbsp;&nbsp;&nbsp;&lt;\/script&gt;<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Portabilidade<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Uma situa\u00e7\u00e3o onde voc\u00ea tem um programa com dezenas a centenas de declara\u00e7\u00f5es <strong><code>if-else<\/code><\/strong>. Suponha que voc\u00ea esteja construindo um sistema de gerenciamento de pedidos para um restaurante online, e voc\u00ea precisa determinar qual a\u00e7\u00e3o <a href=\"http:\/\/addlinkexterno.com\">executar com base em diferentes estados do pedido<\/a>. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Cada estado pode corresponder a uma s\u00e9rie de verifica\u00e7\u00f5es <strong><code>if-else<\/code><\/strong>. Vejamos um exemplo simplificado:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\/\/ Exemplo de dezenas a centenas de declara\u00e7\u00f5es if-else\n\nfunction processarPedido(estado) {\n\n&nbsp;&nbsp;&nbsp;&nbsp;if (estado === \"novo\") {\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/\/ L\u00f3gica para processar um pedido novo\n\n&nbsp;&nbsp;&nbsp;&nbsp;} else if (estado === \"preparacao\") {\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/\/ L\u00f3gica para processar um pedido em prepara\u00e7\u00e3o\n\n&nbsp;&nbsp;&nbsp;&nbsp;} else if (estado === \"entrega\") {\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/\/ L\u00f3gica para processar um pedido em entrega\n\n&nbsp;&nbsp;&nbsp;&nbsp;} else if (estado === \"concluido\") {\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/\/ L\u00f3gica para processar um pedido conclu\u00eddo\n\n&nbsp;&nbsp;&nbsp;&nbsp;} else if (estado === \"cancelado\") {\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/\/ L\u00f3gica para processar um pedido cancelado\n\n&nbsp;&nbsp;&nbsp;&nbsp;} \/\/ ... e muitos mais casos\n\nelse{return false}\n\n}<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Nesse cen\u00e1rio, voc\u00ea tem muitas declara\u00e7\u00f5es<code> <strong>if-else<\/strong><\/code> aninhadas, o que pode ser dif\u00edcil de ler, manter e depurar. Uma abordagem mais clara e estruturada para resolver esse tipo de situa\u00e7\u00e3o seria usar uma instru\u00e7\u00e3o <code><strong><code>switch<\/code><\/strong><\/code>. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A instru\u00e7\u00e3o <strong><code>switch<\/code><\/strong> avalia uma express\u00e3o e executa o bloco de c\u00f3digo correspondente ao valor da express\u00e3o. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Vejamos como o exemplo acima poderia ser reescrito usando <code><strong><code>switch<\/code><\/strong><\/code>:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>function processarPedido(estado) {\n\n    switch (estado) {\n        case \"novo\":\n            \/\/ L\u00f3gica para processar um pedido novo\n            break;\n\n        case \"preparacao\":\n            \/\/ L\u00f3gica para processar um pedido em prepara\u00e7\u00e3o\n            break;\n\n        case \"entrega\":\n            \/\/ L\u00f3gica para processar um pedido em entrega\n            break;\n\n        case \"concluido\":\n            \/\/ L\u00f3gica para processar um pedido conclu\u00eddo\n            break;\n\n        case \"cancelado\":\n            \/\/ L\u00f3gica para processar um pedido cancelado\n            break;\n\n        \/\/ ... outros casos\n\n        default:\n            return false;\n    }\n\n}\n<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Vantagens_do_Switch_em_JavaScript\"><\/span>Vantagens do Switch em JavaScript<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">A performance do <strong><code>switch<\/code><\/strong> em compara\u00e7\u00e3o com <strong><code>if<\/code><\/strong> pode variar dependendo do contexto e do ambiente em que o c\u00f3digo est\u00e1 sendo executado. No entanto, em geral, o <strong><code>switch<\/code><\/strong> \u00e9 frequentemente mais eficiente do que uma s\u00e9rie de declara\u00e7\u00f5es <strong><code>if-else<\/code><\/strong> quando se trata de verificar m\u00faltiplas op\u00e7\u00f5es em um \u00fanico valor.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A principal raz\u00e3o para isso \u00e9 que o <strong><code>switch<\/code><\/strong> utiliza uma abordagem de <code><strong>\"jump table\"<\/strong><\/code> (tabela de saltos), que mapeia os valores poss\u00edveis diretamente para os blocos de c\u00f3digo correspondentes, em vez de <a href=\"https:\/\/www.homehost.com.br\/blog\/javascript\/javascript-length\/\">avaliar cada condi\u00e7\u00e3o individualmente <\/a>como em um conjunto de declara\u00e7\u00f5es <strong><code>if-else<\/code><\/strong>. Isso resulta em um tempo de execu\u00e7\u00e3o mais r\u00e1pido para cen\u00e1rios onde h\u00e1 um grande n\u00famero de op\u00e7\u00f5es a serem verificadas.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Limitacoes_e_Consideracoes\"><\/span>Limita\u00e7\u00f5es e Considera\u00e7\u00f5es<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>N\u00fameros limitados de casos<\/strong>: quando h\u00e1 apenas um n\u00famero limitado de casos para verificar, a diferen\u00e7a de desempenho entre <strong><code>switch<\/code><\/strong> e <strong><code>if-else<\/code><\/strong> pode ser insignificante, especialmente para valores pequenos;<\/li>\n\n\n\n<li><strong>JavaScript JIT compilation<\/strong>: Os motores JavaScript modernos, como o V8 (utilizado no Chrome e no Node.js), realizam otimiza\u00e7\u00f5es em tempo de execu\u00e7\u00e3o, incluindo a otimiza\u00e7\u00e3o de constru\u00e7\u00f5es <strong><code>if-else<\/code><\/strong> e switch. Portanto, a diferen\u00e7a de desempenho pode ser menos not\u00e1vel em muitos casos;<\/li>\n\n\n\n<li><strong>Complexidade do c\u00f3digo<\/strong>: A legibilidade e a manuten\u00e7\u00e3o do c\u00f3digo tamb\u00e9m s\u00e3o fatores importantes. O <strong><code>switch<\/code><\/strong> pode se tornar menos leg\u00edvel quando h\u00e1 muitos casos ou a l\u00f3gica dentro dos casos \u00e9 complexa. Nesses casos, a clareza do c\u00f3digo pode ser mais importante do que pequenas diferen\u00e7as de desempenho;<\/li>\n\n\n\n<li><strong>Compara\u00e7\u00e3o de Strings<\/strong>: A performance do <strong><code>switch<\/code><\/strong> pode ser afetada negativamente ao comparar strings muito longas, pois a compara\u00e7\u00e3o de igualdade estrita \u00e9 usada. Em algumas situa\u00e7\u00f5es, \u00e9 mais eficiente usar um objeto ou um mapa para mapear strings para a\u00e7\u00f5es.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Exemplo pr\u00e1tico sobre compara\u00e7\u00e3o de <a href=\"https:\/\/www.alura.com.br\/artigos\/strings-com-javascript-o-que-sao-e-como-manipular\">Strings<\/a>:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\/\/ Usando um objeto para mapear nomes de pa\u00edses para a\u00e7\u00f5es\n\nconst acoesPorPais = {\n\n&nbsp;&nbsp;&nbsp;&nbsp;\"EUA\": function() {\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;console.log(\"Voc\u00ea est\u00e1 nos Estados Unidos.\");\n\n&nbsp;&nbsp;&nbsp;&nbsp;},\n\n&nbsp;&nbsp;&nbsp;&nbsp;\"Canad\u00e1\": function() {\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;console.log(\"Voc\u00ea est\u00e1 no Canad\u00e1.\");\n\n&nbsp;&nbsp;&nbsp;&nbsp;},\n\n&nbsp;&nbsp;&nbsp;&nbsp;\"Brasil\": function() {\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;console.log(\"Voc\u00ea est\u00e1 no Brasil.\");\n\n&nbsp;&nbsp;&nbsp;&nbsp;},\n\n};\n\n\/\/ Nome do pa\u00eds que voc\u00ea deseja verificar\n\nconst nomePais = \"Brasil\";\n\n\/\/ Verifica se o pa\u00eds existe no objeto e executa a a\u00e7\u00e3o correspondente\n\nif (acoesPorPais&#091;nomePais]) {\n\n&nbsp;&nbsp;&nbsp;&nbsp;acoesPorPais&#091;nomePais]();\n\n} else {\n\n&nbsp;&nbsp;&nbsp;&nbsp;console.log(\"Pa\u00eds n\u00e3o reconhecido.\");\n\n}<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Criamos um objeto que <strong>mapeia <\/strong>nomes de pa\u00edses para fun\u00e7\u00f5es que executam a\u00e7\u00f5es espec\u00edficas. Em seguida, podemos verificar se o pa\u00eds existe no objeto e executar a fun\u00e7\u00e3o correspondente. Isso evita a necessidade de escrever um <strong><code>switch<\/code><\/strong> longo com v\u00e1rias cl\u00e1usulas case.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Fall-through<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">O <code>\"<strong>fall-through<\/strong>\"<\/code> \u00e9 um comportamento interessante na estrutura <strong><code>switch<\/code><\/strong> onde o c\u00f3digo de um caso \u00e9 executado e, em seguida, a execu\u00e7\u00e3o continua nos casos subsequentes, a menos que haja um <strong><code>break <\/code>para interromp\u00ea-la<\/strong>. Isso pode ser usado para agrupar casos com a\u00e7\u00f5es semelhantes ou para criar l\u00f3gicas mais complexas.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Agrupamento de Casos Similares<\/strong>: o <strong><code>\"fall-through\"<\/code><\/strong> \u00e9 \u00fatil quando voc\u00ea tem v\u00e1rios casos consecutivos que devem executar a mesma l\u00f3gica. Em vez de repetir o c\u00f3digo em cada caso, voc\u00ea pode agrup\u00e1-los e ter o c\u00f3digo compartilhado. Isso torna seu c\u00f3digo mais limpo e f\u00e1cil de manter;<\/li>\n\n\n\n<li><strong>L\u00f3gica Complexa<\/strong>: em alguns casos, voc\u00ea pode querer criar l\u00f3gicas mais complexas onde m\u00faltiplos casos precisam ser avaliados antes que a execu\u00e7\u00e3o seja interrompida. O <code><strong>\"fall-through\"<\/strong><\/code> permite criar essas l\u00f3gicas de maneira mais eficiente.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Evitando &#8220;fall-Through&#8221; <\/strong>n<strong>\u00e3o Intencional<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Use Breaks Adequadamente<\/strong>: a maneira mais direta de evitar o <code><strong>\"fall-through\"<\/strong><\/code> n\u00e3o intencional \u00e9 usar instru\u00e7\u00f5es &#8220;<strong><code>break<\/code><\/strong>&#8221; adequadamente. Certifique-se de incluir &#8220;<strong><code>break<\/code><\/strong>&#8221; no final de cada caso onde a execu\u00e7\u00e3o deve ser interrompida ap\u00f3s o c\u00f3digo desse caso;<\/li>\n\n\n\n<li><strong>Coment\u00e1rios Descritivos<\/strong>: \u00e0s vezes, \u00e9 \u00fatil adicionar coment\u00e1rios descritivos nos casos onde voc\u00ea usa o &#8220;fall-through&#8221; de forma intencional. Isso ajuda a documentar a sua inten\u00e7\u00e3o e evita confus\u00f5es;<\/li>\n\n\n\n<li><strong>Default no Final<\/strong>: coloque a cl\u00e1usula &#8220;<strong><code>default<\/code><\/strong>&#8221; (caso padr\u00e3o) no final do <strong><code>switch<\/code><\/strong>. Isso ajuda a evitar o &#8220;<strong><code>fall-through<\/code><\/strong>&#8221; n\u00e3o intencional, pois qualquer execu\u00e7\u00e3o n\u00e3o controlada ser\u00e1 capturada pelo &#8220;<strong><code>default<\/code><\/strong>&#8220;.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">O <strong><code>\"fall-through\"<\/code><\/strong> pode ser uma ferramenta poderosa, mas tamb\u00e9m pode levar a erros sutis com o uso descuidado. Portanto, \u00e9 importante estar ciente desse comportamento e adotar pr\u00e1ticas que evitem problemas n\u00e3o intencionais de <strong><code>\"fall-through\"<\/code><\/strong>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Um exemplo para ilustrar o conceito de <strong><code>\"fall-through\"<\/code><\/strong> em JavaScript:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>const diaDaSemana = \"segunda\";\n\nswitch (diaDaSemana) {\n\n&nbsp;&nbsp;&nbsp;&nbsp;case \"segunda\":\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;console.log(\"Hoje \u00e9 segunda-feira.\");\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/\/ Nenhum break aqui, permitindo o \"fall-through\"\n\n&nbsp;&nbsp;&nbsp;&nbsp;case \"ter\u00e7a\":\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;console.log(\"A semana est\u00e1 apenas come\u00e7ando.\");\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break;\n\n&nbsp;&nbsp;&nbsp;&nbsp;case \"quarta\":\n\n&nbsp;&nbsp;&nbsp;&nbsp;case \"quinta\":\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;console.log(\"Estamos no meio da semana.\");\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break;\n\n&nbsp;&nbsp;&nbsp;&nbsp;case \"sexta\":\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;console.log(\"\u00c9 sexta-feira! Hora de relaxar.\");\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break;\n\n&nbsp;&nbsp;&nbsp;&nbsp;default:\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;console.log(\"Fim de semana \u00e0 vista!\");\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break;\n\n}<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">No exemplo, &#8220;<code>segunda<\/code>&#8221; \u00e9 o valor de <strong><code>diaDaSemana<\/code><\/strong>. Executa-se o caso e, sem o <strong><code>break<\/code><\/strong>, continua no caso &#8220;<code>ter\u00e7a<\/code>&#8220;. O <strong><code>break <\/code><\/strong>em &#8220;<code>ter\u00e7a<\/code>&#8221; interrompe a execu\u00e7\u00e3o.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A seguir est\u00e1 um exemplo de uma cl\u00e1usula case <a href=\"https:\/\/www.homehost.com.br\/blog\/pythondjango\/pandas-python\/\">sequencial de opera\u00e7\u00e3o m\u00faltipla<\/a>, onde, dependendo do n\u00famero inteiro fornecido, voc\u00ea pode receber sa\u00eddas diferentes. Isso mostra que ele percorrer\u00e1 a ordem em que voc\u00ea colocou as cl\u00e1usulas case e n\u00e3o precisa ser numericamente sequencial. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Em JavaScript, voc\u00ea tamb\u00e9m pode misturar defini\u00e7\u00f5es de strings nessas instru\u00e7\u00f5es case.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Exemplo pr\u00e1tico<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>const foo = 1;\n\nlet output = \"Sa\u00edda: \";\n\nswitch (foo) {\n\n&nbsp;&nbsp;case 0:\n\n&nbsp;&nbsp;&nbsp;&nbsp;output += \"Ent\u00e3o \";\n\n&nbsp;&nbsp;case 1:\n\n&nbsp;&nbsp;&nbsp;&nbsp;output += \"O que \";\n\n&nbsp;&nbsp;&nbsp;&nbsp;output += \"\u00e9 \";\n\n&nbsp;&nbsp;case 2:\n\n&nbsp;&nbsp;&nbsp;&nbsp;output += \"o \";\n\n&nbsp;&nbsp;case 3:\n\n&nbsp;&nbsp;&nbsp;&nbsp;output += \"seu \";\n\n&nbsp;&nbsp;case 4:\n\n&nbsp;&nbsp;&nbsp;&nbsp;output += \"Nome\";\n\n&nbsp;&nbsp;case 5:\n\n&nbsp;&nbsp;&nbsp;&nbsp;output += \"?\";\n\n&nbsp;&nbsp;&nbsp;&nbsp;console.log(output);\n\n&nbsp;&nbsp;&nbsp;&nbsp;break;\n\n&nbsp;&nbsp;case 6:\n\n&nbsp;&nbsp;&nbsp;&nbsp;output += \"!\";\n\n&nbsp;&nbsp;&nbsp;&nbsp;console.log(output);\n\n&nbsp;&nbsp;&nbsp;&nbsp;break;\n\n&nbsp;&nbsp;default:\n\n&nbsp;&nbsp;&nbsp;&nbsp;console.log(\"Por favor, escolha um n\u00famero de 0 a 5!\");\n\n}<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-table is-style-regular\"><table><tbody><tr><td><strong>Value<\/strong><\/td><td><strong>Texto<\/strong><\/td><\/tr><tr><td><code>foo is NaN or not 1, 2, 3, 4, 5, or 0<\/code><\/td><td><code>Por favor, escolha um n\u00famero de 0 a 5!<\/code><\/td><\/tr><tr><td>0<\/td><td><code>Output: Ent\u00e3o O que \u00e9 o seu Nome?<\/code><\/td><\/tr><tr><td>1<\/td><td><code>Output: O que \u00e9 o seu Nome?<\/code><\/td><\/tr><tr><td>2<\/td><td><code>Output: seu Nome?<\/code><\/td><\/tr><tr><td>3<\/td><td><code>Output: Nome?<\/code><\/td><\/tr><tr><td>4<\/td><td><code>Output: ?<\/code><\/td><\/tr><tr><td>5<\/td><td><code>Output: !<\/code><\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Note que o <strong><code>\"fall-through\" <\/code><\/strong>pode ser intencional ou n\u00e3o intencional, e \u00e9 importante estar ciente desse comportamento ao escrever c\u00f3digo com a estrutura <strong><code>switch<\/code><\/strong>. Caso n\u00e3o se deseje o <strong><code>\"fall-through\"<\/code><\/strong>, \u00e9 importante incluir o <strong><code>break<\/code><\/strong> no caso apropriado.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Lembrando tamb\u00e9m que muitos desenvolvedores preferem evitar o <code><strong>\"fall-through\"<\/strong><\/code> para manter um comportamento mais previs\u00edvel e leg\u00edvel no c\u00f3digo.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Dicas_para_um_Uso_Eficiente\"><\/span>Dicas para um Uso Eficiente<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Vamos imaginar que voc\u00ea est\u00e1 construindo um sistema de <a href=\"http:\/\/addlinkexterno.com\">pedidos em um restaurante online<\/a> e deseja implementar um menu interativo em JavaScript. Esse menu sendo similar aos menus vistos frequentemente em programas em C. Vamos criar um exemplo simples onde o usu\u00e1rio pode selecionar diferentes op\u00e7\u00f5es e o programa responder\u00e1 de acordo usando a estrutura <strong><code>switch<\/code><\/strong>.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\/\/ Exemplo de menu interativo em JavaScript usando switch\n\nconsole.log(\"Bem-vindo ao Restaurante Saboroso!\");\n\nconsole.log(\"1. Fazer um pedido\");\n\nconsole.log(\"2. Verificar status do pedido\");\n\nconsole.log(\"3. Sair\");\n\n\/\/ Simulando a entrada do usu\u00e1rio (valor da op\u00e7\u00e3o escolhida)\n\nconst opcao = 2;\n\n\/\/ Utilizando a estrutura switch para responder \u00e0 escolha do usu\u00e1rio\n\nswitch (opcao) {\n\n&nbsp;&nbsp;&nbsp;&nbsp;case 1:\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;console.log(\"Voc\u00ea escolheu fazer um pedido. Por favor, escolha os itens.\");\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/\/ L\u00f3gica para fazer o pedido\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break;\n\n&nbsp;&nbsp;&nbsp;&nbsp;case 2:\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;console.log(\"Voc\u00ea escolheu verificar o status do pedido.\");\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/\/ L\u00f3gica para verificar o status do pedido\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break;\n\n&nbsp;&nbsp;&nbsp;&nbsp;case 3:\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;console.log(\"Voc\u00ea escolheu sair. Obrigado por visitar o Restaurante Saboroso!\");\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/\/ L\u00f3gica para sair\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break;\n\n&nbsp;&nbsp;&nbsp;&nbsp;default:\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;console.log(\"Op\u00e7\u00e3o inv\u00e1lida. Por favor, escolha uma op\u00e7\u00e3o v\u00e1lida.\");\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/\/ L\u00f3gica para op\u00e7\u00e3o inv\u00e1lida\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break;\n\n}<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Menus assim s\u00e3o uma pr\u00e1tica comum para ensino superior, e pode-se facilmente implementar varia\u00e7\u00f5es dela para qualquer linguagem de programa\u00e7\u00e3o.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Conclusao\"><\/span>Conclus\u00e3o<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Em resumo, o <strong>Switch em Javascript <\/strong>\u00e9 uma poderosa ferramenta para lidar com m\u00faltiplas alternativas de um valor, oferecendo uma <a href=\"https:\/\/www.homehost.com.br\/blog\/javascript\/print-div-javascript\/\">abordagem estruturada e eficiente<\/a>. Sua sintaxe organizada e enxuta torna as decis\u00f5es complexas mais compreens\u00edveis e menos propensas a erros humanos.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u00c9 importante lembrar que, embora o <strong>switch <\/strong>ofere\u00e7a vantagens de desempenho em compara\u00e7\u00e3o com uma s\u00e9rie de declara\u00e7\u00f5es if-else em muitos casos, a clareza e a manuten\u00e7\u00e3o do c\u00f3digo tamb\u00e9m s\u00e3o fundamentais. Escolha a estrutura que melhor atenda \u00e0s necessidades espec\u00edficas do seu projeto.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Em \u00faltima an\u00e1lise, o <strong>switch<\/strong> \u00e9 um ator vers\u00e1til no palco da programa\u00e7\u00e3o JavaScript, assim, capaz de simplificar a tomada de decis\u00f5es complexas e melhorar a legibilidade do c\u00f3digo. Dominar essa constru\u00e7\u00e3o, portanto, \u00e9 uma habilidade valiosa para qualquer desenvolvedor JavaScript.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>No contexto da programa\u00e7\u00e3o, o comando &#8220;Switch&#8221; JavaScript \u00e9 um mecanismo crucial para a tomada de decis\u00f5es condicionais. Funcionando como uma ferramenta flex\u00edvel, ele se adequa a m\u00faltiplos cen\u00e1rios, simplificando a gest\u00e3o de decis\u00f5es atrav\u00e9s de uma sintaxe limpa e eficiente.&nbsp; Sua capacidade de lidar com variados tipos de dados o torna essencial para desenvolvimento [&hellip;]<\/p>\n","protected":false},"author":31,"featured_media":11232,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_helpful_status":1,"_lmt_disableupdate":"","_lmt_disable":"","_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[6585],"tags":[],"class_list":["post-11231","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-javascript"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v24.6 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Switch JavaScript: O que \u00e9 e como usar? | Homehost<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.homehost.com.br\/blog\/javascript\/switch-javascript\/\" \/>\n<meta property=\"og:locale\" content=\"pt_BR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Switch JavaScript: O que \u00e9 e como usar? | Homehost\" \/>\n<meta property=\"og:description\" content=\"No contexto da programa\u00e7\u00e3o, o comando &#8220;Switch&#8221; JavaScript \u00e9 um mecanismo crucial para a tomada de decis\u00f5es condicionais. Funcionando como uma ferramenta flex\u00edvel, ele se adequa a m\u00faltiplos cen\u00e1rios, simplificando a gest\u00e3o de decis\u00f5es atrav\u00e9s de uma sintaxe limpa e eficiente.&nbsp; Sua capacidade de lidar com variados tipos de dados o torna essencial para desenvolvimento [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.homehost.com.br\/blog\/javascript\/switch-javascript\/\" \/>\n<meta property=\"og:site_name\" content=\"Homehost\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/Homehost\/\" \/>\n<meta property=\"article:published_time\" content=\"2023-09-13T08:54:13+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-04-12T21:46:20+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.homehost.com.br\/blog\/wp-content\/uploads\/2023\/09\/Switch-JavaScript.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"720\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Daiana S\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@Homehost\" \/>\n<meta name=\"twitter:site\" content=\"@Homehost\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"Daiana S\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. tempo de leitura\" \/>\n\t<meta name=\"twitter:data2\" content=\"9 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.homehost.com.br\/blog\/javascript\/switch-javascript\/\",\"url\":\"https:\/\/www.homehost.com.br\/blog\/javascript\/switch-javascript\/\",\"name\":\"Switch JavaScript: O que \u00e9 e como usar? | Homehost\",\"isPartOf\":{\"@id\":\"https:\/\/www.homehost.com.br\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.homehost.com.br\/blog\/javascript\/switch-javascript\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.homehost.com.br\/blog\/javascript\/switch-javascript\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.homehost.com.br\/blog\/wp-content\/uploads\/2023\/09\/Switch-JavaScript.jpg\",\"datePublished\":\"2023-09-13T08:54:13+00:00\",\"dateModified\":\"2024-04-12T21:46:20+00:00\",\"author\":{\"@id\":\"https:\/\/www.homehost.com.br\/blog\/#\/schema\/person\/eb90cb369d7098d6d85fa96c78ea1689\"},\"breadcrumb\":{\"@id\":\"https:\/\/www.homehost.com.br\/blog\/javascript\/switch-javascript\/#breadcrumb\"},\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.homehost.com.br\/blog\/javascript\/switch-javascript\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\/\/www.homehost.com.br\/blog\/javascript\/switch-javascript\/#primaryimage\",\"url\":\"https:\/\/www.homehost.com.br\/blog\/wp-content\/uploads\/2023\/09\/Switch-JavaScript.jpg\",\"contentUrl\":\"https:\/\/www.homehost.com.br\/blog\/wp-content\/uploads\/2023\/09\/Switch-JavaScript.jpg\",\"width\":1200,\"height\":720,\"caption\":\"Switch JavaScript\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.homehost.com.br\/blog\/javascript\/switch-javascript\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"In\u00edcio\",\"item\":\"https:\/\/www.homehost.com.br\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Switch JavaScript: O que \u00e9 e como usar?\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.homehost.com.br\/blog\/#website\",\"url\":\"https:\/\/www.homehost.com.br\/blog\/\",\"name\":\"Homehost\",\"description\":\"Hospedagem De Sites\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.homehost.com.br\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"pt-BR\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.homehost.com.br\/blog\/#\/schema\/person\/eb90cb369d7098d6d85fa96c78ea1689\",\"name\":\"Daiana S\",\"description\":\"Graduada em Letras pelo Instituto Federal da Para\u00edba e especializada em reda\u00e7\u00e3o geral. Gosto de escrever sobre tudo e me dedico em v\u00e1rios n\u00edveis de expressividade. No geral, todos os meus hobbies giram em torno de escrever alguma coisa e fazer isso bem. Contato: daiana.blog@homehost.com.br\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Switch JavaScript: O que \u00e9 e como usar? | Homehost","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.homehost.com.br\/blog\/javascript\/switch-javascript\/","og_locale":"pt_BR","og_type":"article","og_title":"Switch JavaScript: O que \u00e9 e como usar? | Homehost","og_description":"No contexto da programa\u00e7\u00e3o, o comando &#8220;Switch&#8221; JavaScript \u00e9 um mecanismo crucial para a tomada de decis\u00f5es condicionais. Funcionando como uma ferramenta flex\u00edvel, ele se adequa a m\u00faltiplos cen\u00e1rios, simplificando a gest\u00e3o de decis\u00f5es atrav\u00e9s de uma sintaxe limpa e eficiente.&nbsp; Sua capacidade de lidar com variados tipos de dados o torna essencial para desenvolvimento [&hellip;]","og_url":"https:\/\/www.homehost.com.br\/blog\/javascript\/switch-javascript\/","og_site_name":"Homehost","article_publisher":"https:\/\/www.facebook.com\/Homehost\/","article_published_time":"2023-09-13T08:54:13+00:00","article_modified_time":"2024-04-12T21:46:20+00:00","og_image":[{"width":1200,"height":720,"url":"https:\/\/www.homehost.com.br\/blog\/wp-content\/uploads\/2023\/09\/Switch-JavaScript.jpg","type":"image\/jpeg"}],"author":"Daiana S","twitter_card":"summary_large_image","twitter_creator":"@Homehost","twitter_site":"@Homehost","twitter_misc":{"Escrito por":"Daiana S","Est. tempo de leitura":"9 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.homehost.com.br\/blog\/javascript\/switch-javascript\/","url":"https:\/\/www.homehost.com.br\/blog\/javascript\/switch-javascript\/","name":"Switch JavaScript: O que \u00e9 e como usar? | Homehost","isPartOf":{"@id":"https:\/\/www.homehost.com.br\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.homehost.com.br\/blog\/javascript\/switch-javascript\/#primaryimage"},"image":{"@id":"https:\/\/www.homehost.com.br\/blog\/javascript\/switch-javascript\/#primaryimage"},"thumbnailUrl":"https:\/\/www.homehost.com.br\/blog\/wp-content\/uploads\/2023\/09\/Switch-JavaScript.jpg","datePublished":"2023-09-13T08:54:13+00:00","dateModified":"2024-04-12T21:46:20+00:00","author":{"@id":"https:\/\/www.homehost.com.br\/blog\/#\/schema\/person\/eb90cb369d7098d6d85fa96c78ea1689"},"breadcrumb":{"@id":"https:\/\/www.homehost.com.br\/blog\/javascript\/switch-javascript\/#breadcrumb"},"inLanguage":"pt-BR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.homehost.com.br\/blog\/javascript\/switch-javascript\/"]}]},{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/www.homehost.com.br\/blog\/javascript\/switch-javascript\/#primaryimage","url":"https:\/\/www.homehost.com.br\/blog\/wp-content\/uploads\/2023\/09\/Switch-JavaScript.jpg","contentUrl":"https:\/\/www.homehost.com.br\/blog\/wp-content\/uploads\/2023\/09\/Switch-JavaScript.jpg","width":1200,"height":720,"caption":"Switch JavaScript"},{"@type":"BreadcrumbList","@id":"https:\/\/www.homehost.com.br\/blog\/javascript\/switch-javascript\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"In\u00edcio","item":"https:\/\/www.homehost.com.br\/blog\/"},{"@type":"ListItem","position":2,"name":"Switch JavaScript: O que \u00e9 e como usar?"}]},{"@type":"WebSite","@id":"https:\/\/www.homehost.com.br\/blog\/#website","url":"https:\/\/www.homehost.com.br\/blog\/","name":"Homehost","description":"Hospedagem De Sites","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.homehost.com.br\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"pt-BR"},{"@type":"Person","@id":"https:\/\/www.homehost.com.br\/blog\/#\/schema\/person\/eb90cb369d7098d6d85fa96c78ea1689","name":"Daiana S","description":"Graduada em Letras pelo Instituto Federal da Para\u00edba e especializada em reda\u00e7\u00e3o geral. Gosto de escrever sobre tudo e me dedico em v\u00e1rios n\u00edveis de expressividade. No geral, todos os meus hobbies giram em torno de escrever alguma coisa e fazer isso bem. Contato: daiana.blog@homehost.com.br"}]}},"modified_by":"Daiana S","jetpack_featured_media_url":"https:\/\/www.homehost.com.br\/blog\/wp-content\/uploads\/2023\/09\/Switch-JavaScript.jpg","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.homehost.com.br\/blog\/wp-json\/wp\/v2\/posts\/11231","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.homehost.com.br\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.homehost.com.br\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.homehost.com.br\/blog\/wp-json\/wp\/v2\/users\/31"}],"replies":[{"embeddable":true,"href":"https:\/\/www.homehost.com.br\/blog\/wp-json\/wp\/v2\/comments?post=11231"}],"version-history":[{"count":9,"href":"https:\/\/www.homehost.com.br\/blog\/wp-json\/wp\/v2\/posts\/11231\/revisions"}],"predecessor-version":[{"id":13942,"href":"https:\/\/www.homehost.com.br\/blog\/wp-json\/wp\/v2\/posts\/11231\/revisions\/13942"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.homehost.com.br\/blog\/wp-json\/wp\/v2\/media\/11232"}],"wp:attachment":[{"href":"https:\/\/www.homehost.com.br\/blog\/wp-json\/wp\/v2\/media?parent=11231"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.homehost.com.br\/blog\/wp-json\/wp\/v2\/categories?post=11231"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.homehost.com.br\/blog\/wp-json\/wp\/v2\/tags?post=11231"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}