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

277
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?

over 4 years ago · Santiago Trujillo
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.

over 4 years ago · Santiago Trujillo 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 .

over 4 years ago · Santiago Trujillo 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