Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

125
Visualizações
¿Por qué las declaraciones de cambio no tienen llaves?

La sintaxis típica para una declaración de cambio es:

 switch(expression) { case one: // do something... break; case two: // do something else... break; case three: case four: // do something special break; default: // if nothing matches... break; }

Esta sintaxis se parece mucho a Python (especialmente los dos puntos y la forma en que la gente la sangra), contrariamente a la sintaxis general de lenguajes como JavaScript, Java o C, donde se usan llaves para la mayoría de las declaraciones. ¿Hay alguna razón específica?

Esperaría que se pareciera más a:

 switch(expression) { case (one) { // do something... break; } case (two) { // do something else... break; } case (three) case (four) { // do something special break; } default { // if nothing matches... break; } }

Creo que el ejemplo que acabo de proporcionar parece una declaración if-else if-else, pero ¿no debería una declaración de cambio coincidir con el estilo de sintaxis?

over 4 years ago · Santiago Trujillo
2 Respostas
Responde à pergunta

0

Las sentencias case en realidad se tratan como etiquetas en C, similares a las que usa goto . Es difícil responder por qué fue diseñado así e implica buscar en varias publicaciones antiguas de Dennis Ritchie.

Más importante para el día de hoy, puede usar el switch con llaves e incluso se considera una buena práctica. Esto es C válido (y C++):

 switch(expression) { case one: { // do something... break; } case two: { // do something else... break; } case three: case four: { // do something special break; } default: { // if nothing matches... break; } }

Ahora incluso puede declarar variables locales dentro de cada caso.

over 4 years ago · Santiago Trujillo Relatório

0

En lenguajes de programación tipo C, un identificador con dos puntos que se usa como etiqueta para saltar .

 label: // ... goto label;

JavaScript no tiene una instrucción goto pero aún tiene etiquetas.

 label1: { label2: { console.log('break nested block'); break label1; console.log('unreachable'); } console.log('unreachable'); }

En la declaración de switch , cada case tiene una etiqueta para ello. Y la declaración switch tiene su propia lista para esas etiquetas llamada tabla de salto . Cuando el valor dado coincida, salte a esa etiqueta y ejecute cada código siguiente como goto .

over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda