SyntaxError: test for equality (==) mistyped as assignment (=)? - JavaScript 编辑

消息

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
}

相关页面

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

词条统计

浏览:62 次

字数:2373

最后编辑:7年前

编辑次数:0 次

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文