## 消息

    Warning: SyntaxError: test for equality (==) mistyped as assignment (=)?

## 错误类型

`SyntaxError` 只在严格模式下会出现的警告。

## 什么地方出错了?

在通常期望进行相等判定（`==`）的地方出现了赋值`（=`）。 为了帮助调试，JavaScript（在开启严格模式的情况下）会对这种情况进行警告。

## 示例

### 条件表达式内的赋值

不建议在条件表达式中 （例如 `if...else`） 使用简单赋值语句，因为在扫视代码的时候赋值操作与相等判定容易产生混淆。例如，不要使用以下写法：

    if (x = y) {
      // do the right thing
    }

如果你需要在条件表达式中使用赋值语句， 通常的做法是用一对括号把赋值语句包起来。 例如：

    if ((x = y)) {
      // do the right thing
    }

否则， 你的本意可能是想用比较操作符 （如 `==` 或 `===`）：

    if (x == y) {
      // do the right thing
    }

## 相关页面

- Strict mode
- `if...else`
- Comparison operators