Solucionado (ver solución)
Solucionado
(ver solución)
3
respuestas

[Duda] Alguien me podria explicar el significado del punto y coma (;) en Js?

Pareciera que tiene un significado algo mas profundo de lo que crei, ya que si colocas ; donde no es necesario alteras el resultado de forma significativa.

Por ejemplo en el ejercicio de los asterisco si yo coloco ; luego del segundo loop, pareciera que obligo a Js a terminar el loop general cuando el primer loop se vuelva falso. pero si se los quito, se ejecuta normalmente

Este bloque de codigo funciona como en el ejercicio

<meta charset = "UTF-8">

<script>

    //Funciona como en el ejercicio

    function br() {
        document.write('<br>');
    }

    for (let x = 0; x <3; x++) {
        document.write('x')
        for (let y = 0; y <10; y++) {
            document.write('y')
        }
        br()
        }

</script>

Pero solo agregando ; cambia totalmente

<meta charset = "UTF-8">

<script>

    //NO funciona como en el ejercicio

    function br() {
        document.write('<br>');
    }

    for (let x = 0; x <3; x++) {
        document.write('x')
        for (let y = 0; y <10; y++); {
            document.write('y')
        }
        br()
        }

</script>
3 respuestas
solución!

En JavaScript, el punto y coma (;) se utiliza como un separador de instrucciones para indicar el final de una línea de código. Aunque el punto y coma no siempre es necesario en JavaScript, se recomienda su uso para evitar errores de interpretación del código por parte del motor de JavaScript.

El punto y coma se utiliza principalmente en dos casos:

Separar múltiples declaraciones en una sola línea de código:

let a = 1; let b = 2; let c = a + b;

Cuando se utiliza en una estructura de control que no termina con una llave:

if (condicion) {
  // código
} else {
  // código
};

En el segundo ejemplo, aunque el punto y coma no es estrictamente necesario en la mayoría de los casos, su uso ayuda a evitar errores cuando se agregan o eliminan líneas de código en el futuro.

Es importante tener en cuenta que JavaScript puede agregar automáticamente un punto y coma al final de una línea de código en algunos casos, lo que se conoce como "punto y coma implícito". Sin embargo, no se recomienda depender de esta funcionalidad y es mejor agregar el punto y coma de forma explícita.

En este caso en la estructura for:

for (let x = 0; x <3; x++) {
        document.write('x')

        // Al colocar el ";" despues del for obligas al programa a terminar en esa linea

        for (let y = 0; y <10; y++); {
            document.write('y')
        }
        br()
        }

Se utiliza como el primer caso que mencionaba anteriormente, es decir para separar multiples declaraciones dentro de una misma linea de código,

El problema de colocar (;) después de la condición del segundo for hace que el cuerpo del bucle (el bloque de código entre llaves { }) se ignore por completo.

<meta charset = "UTF-8">

<script>

    //Funciona como en el ejercicio

    function br() {
        document.write('<br>');
    }

    for (let x = 0; x <3; x++) {
        document.write('x')
        for (let y = 0; y <10; y++) {
            document.write('y')
        }
        br()
        }

</script>

Amigo, el punto y como ";" , cuando usas el (while, for, if) se usa en la linea de codigo después del corchete "{}"

EJEMPLO: `var ingredientes = []; var cantidad = parseInt(prompt("¿Cuántos ingredientes vas a añadir?")); var contador = 1;

while( contador <= cantidad) {

    var ingrediente = prompt("Informe el ingrediente " + contador);
    console.log(ingrediente);
    var encontrado = false;

    for(var posicion = 0; posicion <= ingredientes.length; posicion++){

        if (ingredientes[posicion] == ingrediente){

            encontrado = true;
            alert("repetido " + ingrediente);
            break;
        }
    }
    if (encontrado == false){

        ingredientes.push(ingrediente);
        contador++;
    }

}

console.log(ingredientes);`

Muchas gracias por sus respuestas, sobre todo a ti @Alberto Guajardo. Es una duda que no me podia sacar de mi cabeza y mientras mas indagaba, veia que se volvia mas y mas profundo el tema.