eslint报错no-mixed-operators的原因?

const invalidTunnelIds = result.data && result.data.invalidTunnelIds || []

图片描述

这段代码感觉很正常,不知eslint为什么会报错了?

阅读 5.8k
2 个回答

你的代码可能会正确执行,但是eslint的建议是你要明确你的意图,有可能你的意图是
result.data && (result.data.invalidTunnelIds || [])
也有可能是
(result.data && result.data.invalidTunnelIds) || []
但是不管是哪种意图,建议你明确标出来。eslint并不仅仅为了保证你代码的正确执行,也为了更加规范你的代码

eslint是检查代码规范不规范的,不一定会考虑代码的逻辑性,这条规则就是让你不要 && || 混着写
如果你不想遵守这条规则,可以在.eslintrc.js文件的rule字段里忽略

'no-mixed-operators': [0],
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题