Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
1
respuesta

[Sugerencia] Mejorando Código función & dentro de IF [Explicado]

Me parece mucho mejor utilizar dentro del mismo parámetro de función If el parámetro adicional de & (o &&) como muestro a continuación:

Espero les sirva, esta explicado la función de if y también de & o && me surge una duda, ¿Se usa un & o dos &&?, ¿Es regla de programación?

<meta charset="UTF-8">

<h1>1. EJECUTE CÓDIGOS DIFERENTES SEGÚN FUNCIÓN</h1>
<h3>1.2 IMC MEJORANDO EL PROGRAMA IMC</h3> 



<script>

    function imprimir(frase) {

        document.write(frase);
        document.write("<br><br>");

    }
    function saltarLinea() {

        document.write();
        document.write("<br>");

    }
    function calcularImc (peso,altura) {
        return (peso / (altura * altura));

    }
    var nombre = prompt("¿Cuál es su nombre?");
    pesoInformado = prompt(nombre + ", ¿Cuál es tu peso actual?");
    alturaInformado = prompt(nombre + ", ¿Cuál es tu altura?");

    imcCalculado = calcularImc(pesoInformado, alturaInformado);
    imprimir("El inc de " + nombre + " calculado es: " + imcCalculado);


    //[1] Se utiliza el condicional if (condition) { imprimir ("texto")} 
    //[2] También se puede agregar & para agregar más de una condición como: Imc = 19 (Imc >= 19 & )
    if (imcCalculado < 18.5) {

        imprimir("El imc de " + nombre + " está abajo de lo recomendado");

    }

    if (imcCalculado >= 18.5 & imcCalculado < 25) {

    imprimir("El imc de " + nombre + " está dentro del intervalo normal");

    }   

    if (imcCalculado >= 25 & imcCalculado < 30) {

    imprimir("El imc de " + nombre + " está considerado con sobrepeso y Preobesidad");

    }   

    if (imcCalculado >= 30) {

    imprimir("El imc de " + nombre + " está considerado como obesidad");

    }   

    if (imcCalculado >= 30 & imcCalculado < 35) {

    imprimir("El imc de " + nombre + " está considerado como obesidad de clase 1")

    }

</script>
1 respuesta

¡Hola Andrés!

Gracias por compartir tu sugerencia con la comunidad. En cuanto a tu pregunta, tanto & como && son operadores lógicos que se utilizan en condiciones dentro de un if. La diferencia es que && es un operador lógico "y" que evalúa dos condiciones y devuelve true solo si ambas son verdaderas, mientras que & es un operador a nivel de bits "y" que compara los bits de dos operandos y devuelve un nuevo valor en función de si los bits en cada posición son 1 o 0.

En el caso del código que compartiste, es recomendable utilizar && ya que se desea evaluar dos condiciones lógicas. No es una regla de programación, pero es una buena práctica utilizar el operador lógico adecuado según la situación.

Espero haber resuelto tu duda. ¡Buenos estudios!