javascript - 是否有理由不在 while block 声明中分配变量?

标签 javascript node.js

<分区>

每当我做这样的事情时...

var obj;

while (obj = doSomething()) {
  // something with obj
}

JSHint 告诉我 warning 84|需要一个条件表达式,却看到了一个赋值。。但是,执行 obj = doSomething() 会返回 doSomething() 在赋值期间返回的值,因此以这种方式编写 while 循环是有意义的。

JSHint 警告我是否有特定原因,更重要的是,是否有理由不这样做?或者我可以告诉 JSHint 忽略该特定警告的那些行吗?

最佳答案

该警告是为了确保您没有输入错误的 = 而不是 =====

相反,您可以获得评估结果的 bool 值,就像这样

while (!!(obj = doSomething())) {

关于javascript - 是否有理由不在 while block 声明中分配变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27438258/

相关文章:

javascript - 打印到控制台时为 NaN 但 typeof 为数字 jquery

javascript - 在 Nodejs 中循环写入多个文件

node.js - 使用异步等待时为 "Error: No callback provided to pbkdf2"

javascript - 执行shell命令并获取nodejs日志

javascript - 无法从对象中获取数据

javascript - 为什么 .ico ( Base64 ) 看起来浪费了这么多空间?

javascript - 从 Canvas (受污染的 Canvas )读取视频时出现 CORS 错误

javascript - 在javascript中添加删除按钮

node.js - 我应该如何做一个 elasticSearch ,从 Node.js 正确搜索查询?

json - 从 .md 或 .json 文件导入数据