EniunEniunEniunEniun
  • Inicio
  • Blog
  • Cursos
  • Contactar
  • DTD
✕
            Sin resultados Ver todos los resultados

            JavaScript y Python: Diferencias en las estructuras de control

            • Inicio
            • JavaScript y librerías JavaScript
            • JavaScript y Python: Diferencias en las estructuras de control
            22/03/2024
            diferencias estructuras control JS Python

            diferencias estructuras control JS Python

            JavaScript y Python son dos lenguajes de programación ampliamente utilizados que difieren en la sintaxis y las características, incluidas las estructuras de control.

            Contenidos del artículo

            Toggle
            • JavaScript y Python: Diferencias en estructuras de control
              • 1. If-Else Statements
              • 2. Bucles For
              • 3. Bucles While
              • 4. Switch-Case (Solo en JavaScript)
              • 5. Try-Except
              • 6. Comparativa de las estructuras de control en JavaScript y Python

            En este artículo, estudiaremos las diferencias en las estructuras de control entre JavaScript y Python, examinando cómo se implementan cada una de ellas en ambos lenguajes y destacando las peculiaridades y consideraciones importantes que los desarrolladores deben tener en cuenta al trabajar con cada uno de ellos. Si quieres profundizar en JavaScript, te recomendamos seguir el tutorial de JavaScript en nuestra plataforma de aprendizaje.

            JavaScript y Python: Diferencias en estructuras de control

            Una de las áreas en las que estas diferencias son más evidentes es en las estructuras de control, que son fundamentales para dirigir el flujo de ejecución de un programa. Tanto JavaScript como Python ofrecen una variedad de estructuras de control, como if-else, bucles for y while, y manejo de excepciones, pero la sintaxis y el funcionamiento pueden variar entre ambos lenguajes. Veamos una comparación entre las estructuras de control en ambos lenguajes.

            1. If-Else Statements

            Estructura

            JavaScript:

               if (condition) {
                   // Code block to execute if condition is true
               } else {
                   // Code block to execute if condition is false
               }

            Python:

               if condition:
                   # Code block to execute if condition is true
               else:
                   # Code block to execute if condition is false

            Ejemplos

            En los siguientes ejemplos, se verifica si la variable edad es mayor o igual a 18. Si es así, se imprime «Eres mayor de edad». De lo contrario, se imprime «Eres menor de edad».

            JavaScript:

            let edad = 18;
            
            if (edad >= 18) {
                console.log("Eres mayor de edad.");
            } else {
                console.log("Eres menor de edad.");
            }

            Python:

            edad = 18
            
            if edad >= 18:
                print("Eres mayor de edad.")
            else:
                print("Eres menor de edad.")

            2. Bucles For

            Estructura

            JavaScript:

               for (let i = 0; i < array.length; i++) {
                   // Code block to execute for each element in array
               }

            Python:

               for item in array:
                   # Code block to execute for each element in array

            Ejemplos

            En los siguientes ejemplos, se recorre un array de números e imprime cada elemento junto con su índice en el caso de JavaScript, y utilizando la función enumerate para obtener tanto el índice como el valor en el caso de Python.

            JavaScript:

            let numeros = [1, 2, 3, 4, 5];
            
            for (let i = 0; i < numeros.length; i++) {
                console.log("Elemento " + (i + 1) + ": " + numeros[i]);
            }

            Python:

            numeros = [1, 2, 3, 4, 5]
            
            for i, numero in enumerate(numeros, start=1):
                print("Elemento", i, ":", numero)

            3. Bucles While

            Estructura While

            JavaScript:

               while (condition) {
                   // Code block to execute as long as condition is true
               }

            Python:

               while condition:
                   # Code block to execute as long as condition is true

            Ejemplos

            Los siguientes ejemplos ejecutan un bucle while que continúa mientras la variable count sea menor que 5. En cada iteración del bucle, se imprime el valor de count y luego se incrementa en 1. El bucle se detiene cuando count alcanza o supera 5.

            JavaScript:

            let count = 0;
            while (count < 5) {
                console.log("El contador es:", count);
                count++;
            }

            Python:

            count = 0
            while count < 5:
                print("El contador es:", count)
                count += 1

            Estructura Do while

            JavaScript:

            do {
                // Código a ejecutar al menos una vez
            } while (condition);
            

            Python:

            En Python no hay una estructura de control do-while como en otros lenguajes de programación.

            4. Switch-Case (Solo en JavaScript)

            JavaScript:

               switch (expression) {
                   case value1:
                       // Code block to execute if expression equals value1
                       break;
                   case value2:
                       // Code block to execute if expression equals value2
                       break;
                   default:
                       // Code block to execute if expression doesn't match any case
               }

            Python:

            Python no tiene una construcción de switch-case incorporada, pero se puede emular con diccionarios o estructuras if-elif-else.

            Ejemplo

            JavaScript:

            Este código establece un valor para dayNumber y luego utiliza un switch para determinar el nombre del día correspondiente. Dependiendo del valor de dayNumber, se asigna el nombre del día correspondiente a dayName. Si dayNumber no coincide con ningún caso, se asigna el valor «Día inválido» a dayName. Finalmente, se imprime el resultado en la consola.

            let dayNumber = 3;
            let dayName;
            
            switch (dayNumber) {
              case 1:
                dayName = "Lunes";
                break;
              case 2:
                dayName = "Martes";
                break;
              case 3:
                dayName = "Miércoles";
                break;
              case 4:
                dayName = "Jueves";
                break;
              case 5:
                dayName = "Viernes";
                break;
              case 6:
                dayName = "Sábado";
                break;
              case 7:
                dayName = "Domingo";
                break;
              default:
                dayName = "Día inválido";
            }
            console.log("El día correspondiente al número", dayNumber, "es:", dayName);

            Python (diccionarios):

            Como python no tiene una construcción de switch-case incorporada vamos a emular lo anterior con un diccionario. En este ejemplo, day_number contiene el número de día que queremos convertir en su nombre correspondiente. Utilizamos un diccionario llamado day_names donde las claves son los números de día y los valores son los nombres correspondientes. Luego, usamos el método get() para obtener el nombre del día asociado al número dado. Si el número no está en el diccionario, se asigna el valor «Día inválido» por defecto.

            day_number = 3
            day_names = {
                1: "Lunes",
                2: "Martes",
                3: "Miércoles",
                4: "Jueves",
                5: "Viernes",
                6: "Sábado",
                7: "Domingo"
            }
            day_name = day_names.get(day_number, "Día inválido")
            print("El día correspondiente al número", day_number, "es:", day_name)

            JavaScript no cuenta con diccionarios: en JavaScript no hay una estructura de datos específica llamada «diccionario» como en otros lenguajes de programación como Python. Sin embargo, JavaScript utiliza objetos para estructurar datos de manera similar a un diccionario.

            Python (if-else):

            El ejemplo anterior se puede realizar utilizando una estructura de control if-else en Python. En el siguiente ejemplo, cada if verifica si day_number es igual a un valor específico y asigna el nombre del día correspondiente a day_name. Si day_number no coincide con ninguno de los valores esperados, se asigna el valor «Día inválido». Finalmente, imprimimos el resultado en la consola.

            day_number = 3
            
            if day_number == 1:
                day_name = "Lunes"
            elif day_number == 2:
                day_name = "Martes"
            elif day_number == 3:
                day_name = "Miércoles"
            elif day_number == 4:
                day_name = "Jueves"
            elif day_number == 5:
                day_name = "Viernes"
            elif day_number == 6:
                day_name = "Sábado"
            elif day_number == 7:
                day_name = "Domingo"
            else:
                day_name = "Día inválido"
            
            print("El día correspondiente al número", day_number, "es:", day_name)

            5. Try-Except

            Estructura try-except

            Python:

               try:
                   # Code block that may raise an exception
               except SomeException:
                   # Code block to execute if SomeException is raised
               else:
                   # Code block to execute if no exception is raised
               finally:
                   # Optional code block that always executes, regardless of exceptions

            Ejemplo

            En este ejemplo, intentamos dividir 10 por 2. Si ocurre una excepción ZeroDivisionError (es decir, si intentamos dividir por cero), el código en el bloque except se ejecutará. Si no hay excepciones, el código en el bloque else se ejecutará. Finalmente, el bloque finally se ejecutará siempre, independientemente de si se produjo una excepción o no.

            try:
                # Intentamos dividir dos números
                result = 10 / 2
            except ZeroDivisionError:
                # Si ocurre una división por cero, manejamos la excepción aquí
                print("Error: No se puede dividir por cero.")
            else:
                # Si no hay excepciones, ejecutamos este bloque
                print("La división fue exitosa. El resultado es:", result)
            finally:
                # Este bloque siempre se ejecutará, independientemente de si ocurre una excepción o no
                print("Ejecución finalizada.")

            JavaScript no tiene una estructura try-except incorporada, pero maneja excepciones con try-catch-finally.

            Estrucra try-catch-finally:

            JavaScript:

            try {
                // Try block: code that may throw an exception
                // If an exception occurs here, control passes to the catch block
            } catch (error) {
                // Catch block: handling the exception
            } finally {
                // Finally block (optional): code that is always executed
                // Regardless of whether an exception occurred or not
            }
            

            Ejemplo

            En este ejemplo, intentamos dividir 10 por 2. Si la operación de división tiene éxito, imprimimos el resultado. Si ocurre un error debido a una división por cero, manejamos la excepción e imprimimos un mensaje de error. Finalmente, el bloque finally se ejecuta siempre, imprimiendo un mensaje que indica que la ejecución ha finalizado.

            try {
                // Intentamos dividir dos números
                let result = 10 / 2;
                console.log("La división fue exitosa. El resultado es:", result);
            } catch (error) {
                // Si ocurre un error, lo manejamos aquí
                console.log("Error: No se puede dividir por cero.");
            } finally {
                // Este bloque siempre se ejecutará, independientemente de si ocurre un error o no
                console.log("Ejecución finalizada.");
            }

            6. Comparativa de las estructuras de control en JavaScript y Python

            ConceptoEstructura
            If-Else StatementsJavaScript: if (condition) { ... } else { ... } Python: if condition: ... else: ...
            Bucles ForJavaScript: for (let i = 0; i < array.length; i++) { ... } Python: for item in array: ...
            Bucles WhileJavaScript: while (condition) { ... } Python: while condition: ...
            Switch-CaseSolo en JavaScript: switch (expression) { case value1: ... break; case value2: ... break; default: ... }
            Try-ExceptJavaScript: try { ... } catch (error) { ... } finally { ... } Python: try: ... except SomeException: ... else: ... finally: ...
            Comparativa en las estructuras de control en JavaScript y Python

            Navegación de entradas

            ← JavaScript DOM y eventos
            JavaScript y Java: Diferencias en las estructuras de control →

            Curso JavaScript

            • 1. JavaScript básico
            • 2. JavaScript DOM y eventos
            • 3. JavaScript y Python: Diferencias en las estructuras de control
            • 4. JavaScript y Java: Diferencias en las estructuras de control
            • 5. Ejercicios resueltos JavaScript
            Ver más cursos

            ¡Invítanos a un café!

            ¿Cómo donar?
            Ayúdanos a seguir creando contenido relacionado con la informática y el diseño y desarrollo web en Eniun. ¡Gracias por tu apoyo!
            Eniun

            info@eniun.com
            Reportar un error

            Servicios

            Desarrollo Web
            Diseño Web
            Marketing Digital
            Social Media
            Experiencia de Usuario
            Cursos formativos

            Suscríbete a la newsletter

            Únete a nuestra comunidad para recibir contenido exclusivo y relevante para diseñadores y desarrolladores web.

            Apuntarme

            © 2026 Eniun | Política de privacidad y cookies

                      Sin resultados Ver todos los resultados