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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论