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

이 문서는 아직 자원 봉사자들이 한국어로 번역하지 않았습니다. 참여해서 번역을 마치도록 도와 주세요!
English (US)의 문서도 읽어보세요.

Message

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

Error type

SyntaxError warning in strict mode only.

What went wrong?

There was an assignment (=) when you would normally expect a test for equality (==). To help debugging, JavaScript (with strict warnings enabled) warns about this pattern.

Examples

Assignment within conditional expressions

It is advisable to not use simple assignments in a conditional expression (such as if...else), because the assignment can be confused with equality when glancing over the code. For example, do not use the following code:

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

If you need to use an assignment in a conditional expression, a common practice is to put additional parentheses around the assignment. For example:

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

Otherwise, you probably meant to use a comparison operator (e.g. == or ===):

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

See also

문서 태그 및 공헌자

 이 페이지의 공헌자: fscholz
 최종 변경: fscholz,