什么javascript对象打印为false,是真的,并且是类型"对象"?

Ano*_*aly 3 javascript birt

我正在尝试调试BIRT报告,我从reportContext中检索了一个参数,如下所示:var myParameter = reportContext.getParameterValue("myParameter");BIRT没有调试器,BIRT javascript无法访问JSON.stringify,所以除了打印它之外我无法检查这个变量是什么.当我打印它时,它打印为"假".typeof(myParameter)是"对象",myParameter === null计算结果为false,myParameter === undefined计算结果为false,myParameter == "false"计算结果为false,myParameter是真实的(如果我使用它作为if语句的保护,则执行if语句).这个变量究竟是什么,我怎样才能确定它是什么?有没有办法在不使用JSON.stringify的情况下对其进行字符串化,而我无法在BIRT中访问它?

SLa*_*aks 6

> new Boolean(false).toString()
'false'
> typeof new Boolean(false)
'object'
> !!new Boolean(false)
true
> 
Run Code Online (Sandbox Code Playgroud)

要检查这是否实际上是您的对象,请new Boolean(false).constructor返回(字符串化)[Function: Boolean].