Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

119
Vistas
¿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?

about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

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.

about 4 years ago · Juan Pablo Isaza Denunciar

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 .

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda