Các tình nguyện viên của chúng tôi chưa dịch bài viết này thành Tiếng Việt. Tham gia với chúng tôi và hoàn thành công việc!
Bạn cũng có thể đọc bài viết trongEnglish (US).


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

Error type

(Firefox only) SyntaxError warning which is reported only if javascript.options.strict preference is set to true.

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.


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

Document Tags and Contributors

Những người đóng góp cho trang này: mdnwebdocs-bot, arai, fscholz
Cập nhật lần cuối bởi: mdnwebdocs-bot,