SyntaxError: test for equality (==) mistyped as assignment (=)?(тест на равенство (==) опечатка как присваивание (=)?)

Перевод не завершен. Пожалуйста, помогите перевести эту статью с английского.

Сообщения

Warning: SyntaxError: тест на равенство (==) опечатка как присваивание (=)?

Тип ошибки

(Только в Firefox) SyntaxError предупреждение, в котором сообщается, только если javascript.options.strict предпочтение установлено вtrue.

Что пошло не так?

Было присвоение ( = ), когда вы обычно ожидали тест на присвоение (==). Чтобы помочь отладке, JavaScript (с включенными строгими предупреждениями) предупреждает об этом шаблоне.

Примеры

Задание в условных выражениях

Рекомендуется не использовать простые назначения в условном выражении (например, if...else), поскольку при просмотре кода назначение можно спутать с равенством. Например, не используйте следующий код:

if (x = y) {
  // делать правильные вещи
}

Если необходимо использовать присваивание в условном выражении, то обычно вокруг него ставят дополнительные скобки. Например:

if ((x = y)) {
  // делать правильные вещи
}

В противном случае вы, вероятно, хотели использовать оператор сравнения (например, = = или ===):

if (x == y) {
  // делать правильные вещи
}

Смотрите также

Метки документа и участники

Внесли вклад в эту страницу: mdnwebdocs-bot, MakarovDs777
Обновлялась последний раз: mdnwebdocs-bot,