我正在尝试调试 BIRT 报告,其中我从 reportContext 中检索了一个参数,如下所示:var myParameter = reportContext.getParameterValue("myParameter");
BIRT 没有调试器和 BIRT javascript 无法访问 JSON.stringify,所以我无法检查这个变量是什么,除非通过打印它。当我打印它时,它打印为“false”。 typeof(myParameter)
是“object”,myParameter === null
计算结果为 false,myParameter === undefined
计算结果为 false,myParameter == "false"
计算结果为 false,myParameter 为真(如果我将它用作 if 语句的守卫,则执行 if 语句)。这个变量到底是什么,我如何确定它是什么?有没有办法在不使用 JSON.stringify 的情况下对其进行字符串化,我无法在 BIRT 中访问它?
最佳答案
> new Boolean(false).toString()
'false'
> typeof new Boolean(false)
'object'
> !!new Boolean(false)
true
>
要检查这实际上是否是您的对象,new Boolean(false).constructor
返回(字符串化)[Function: Boolean]
。
关于javascript - 哪个 javascript 对象打印为 false、为真且类型为 "object"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45723215/