如果条件总是返回false(省略号)

时间:2018-01-24 12:08:34

标签: javascript multithreading concurrency elips-studio

我对elipsis很新,但即使我将变量指定为false,以下内容也会返回true。

PS:注意iff条件。

import system.obj.* from elipsis.system;

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

2 个答案:

答案 0 :(得分:1)

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中它不存在。在互联网上搜索了一下,我认为这是一个错字。

答案 1 :(得分:0)

试试这个,

import system.obj.* from elipsis.system;

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