javascript - 如果条件始终返回 false(省略号)

标签 javascript multithreading concurrency elips-studio

我对省略号很陌生,但即使我将变量分配为 false,以下内容也会返回 true。

PS:注意 if 条件。

import system.obj.* from elipsis.system;

iff(elem in system.obj.elem) {
  println('in true')
}

最佳答案

in 关键字检查对象是否包含提到的属性。您正在询问该特性内的特性。

您实际上应该向对象询问属性,如下所示:

iff(elem in system.obj) {
  println('in true')
}

顺便说一下,in 关键字不检查值,只检查属性是否存在。将属性设置为 false 会使其存在,但值为 false,因此它将始终返回 true

要删除 JavaScript 中的属性,您必须使用 delete 关键字:

system.obj.elem = true;

iff(elem in system.obj) {
  println('in exists'); // CODE REACHED
}

system.obj.elem = false;

iff(elem in system.obj) {
  println('in exists'); // CODE REACHED
}

delete system.obj.elem;

iff(elem in system.obj) {
  println('in exists'); // CODE NOT REACHED
}

我不知道 iff 是否实际上是真实的代码,并且您有某种转译器,或者是一个拼写错误。在 JavaScript 中它不存在。在网上搜索了一下,我认为是一个错字。

关于javascript - 如果条件始终返回 false(省略号),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48422142/

相关文章:

c# - 使用 Httpclient 进行长轮询

javascript - 带锁的多个 if 语句

javascript - 如果我得到结果,在 ajax 调用中隐藏 div

java - java中如何查找当前拥有锁的线程

go - 同时多次下载同一文件

使用 native 代码的 Android 多线程

javascript - 将额外参数传递给返回回调

javascript - 为什么以下 fs.writeFile 只写入最后一个文件中的数据?

在信号处理程序中创建线程

c# - 如何适当限制多线程应用程序?