freeCodeCamp/curriculum/challenges/spanish/02-javascript-algorithms-an.../debugging/catch-use-of-assignment-ope...

2.9 KiB
Raw Blame History

id title challengeType videoUrl localeTitle
587d7b85367417b2b2512b38 Catch Use of Assignment Operator Instead of Equality Operator 1 Captura el uso del operador de asignación en lugar del operador de igualdad

Description

Los programas de ramificación, es decir, los que hacen cosas diferentes si se cumplen ciertas condiciones, se basan en las declaraciones if , else if , y else en JavaScript. La condición a veces toma la forma de probar si un resultado es igual a un valor. Esta lógica se habla (en inglés, al menos) como "si x es igual a y, entonces ...", que puede traducirse literalmente en código utilizando el operador = , o asignación. Esto conduce a un flujo de control inesperado en su programa. Como se cubrió en desafíos anteriores, el operador de asignación ( = ) en JavaScript asigna un valor a un nombre de variable. Y los operadores == y === verifican la igualdad (las pruebas triples === para la igualdad estricta, lo que significa que tanto el valor como el tipo son iguales). El siguiente código asigna x para ser 2, que se evalúa como true . Casi todos los valores en JavaScript se evalúan como true , excepto lo que se conoce como valores "falsos": false , 0 , "" (una cadena vacía), NaN , undefined y null .
sea x = 1;
sea y = 2;
si (x = y) {
// este bloque de código se ejecutará para cualquier valor de y (a menos que y se haya establecido originalmente como falsy)
} else {
// este bloque de código es lo que debería ejecutarse (pero no lo hará) en este ejemplo
}

Instructions

Corrija la condición para que el programa ejecute la rama derecha y se asigne el valor apropiado al result .

Tests

tests:
  - text: 'Su código debe arreglar la condición para que verifique la igualdad, en lugar de usar la asignación.'
    testString: 'assert(result == "Not equal!", "Your code should fix the condition so it checks for equality, instead of using assignment.");'
  - text: La condición puede usar <code>==</code> o <code>===</code> para probar la igualdad.
    testString: 'assert(code.match(/x\s*?===?\s*?y/g), "The condition can use either <code>==</code> or <code>===</code> to test for equality.");'

Challenge Seed

let x = 7;
let y = 9;
let result = "to come";

if(x = y) {
  result = "Equal!";
} else {
  result = "Not equal!";
}

console.log(result);

Solution

// solution required