--- id: 587d7b85367417b2b2512b38 title: Catch Use of Assignment Operator Instead of Equality Operator challengeType: 1 videoUrl: '' localeTitle: Поймать использование оператора присваивания вместо оператора равенства --- ## Description
Ветвящиеся программы, то есть те, которые выполняют разные вещи, если выполняются определенные условия, полагаются на if , else if и else в JavaScript. Условие иногда принимает форму проверки того, равен ли результат равному значению. Эта логика произносится (по крайней мере, на английском языке) как «если x равно y, тогда ...», которая может буквально перевести на код с помощью оператора = или присваивания. Это приводит к непредвиденному потоку управления в вашей программе. Как описано в предыдущих задачах, оператор присваивания ( = ) в JavaScript присваивает значение имени переменной. И операторы == и === проверяют равенство (тройные === тесты для строгого равенства, что означает как значение, так и тип). Приведенный ниже код присваивает x равному 2, который оценивается как true . Почти каждое значение само по себе в JavaScript оценивается как true , кроме тех, которые известны как «ложные» значения: false , 0 , "" (пустая строка), NaN , undefined и null .
пусть x = 1;
пусть у = 2;
если (x = y) {
// этот кодовый блок будет выполняться для любого значения y (если y изначально не было установлено как ложь)
} else {
// этот блок кода - это то, что должно выполняться (но не будет) в этом примере
}
## Instructions
Исправьте условие, чтобы программа выполняла правильную ветвь, и соответствующее значение присваивается result .
## Tests
```yml tests: - text: 'Ваш код должен исправить условие, поэтому он проверяет равенство вместо использования назначения.' testString: 'assert(result == "Not equal!", "Your code should fix the condition so it checks for equality, instead of using assignment.");' - text: Условие может использовать либо == или === для проверки равенства. testString: 'assert(code.match(/x\s*?===?\s*?y/g), "The condition can use either == or === to test for equality.");' ```
## Challenge Seed
```js let x = 7; let y = 9; let result = "to come"; if(x = y) { result = "Equal!"; } else { result = "Not equal!"; } console.log(result); ```
## Solution
```js // solution required ```