编程语言
首页 > 编程语言> > 什么javascript对象打印为false,是真的,并且是类型“对象”?

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

作者:互联网

我正在尝试调试BIRT报告,我从reportContext中检索了一个参数,如下所示:var myParameter = reportContext.getParameterValue(“myParameter”); BIRT没有调试器,BIRT javascript无法访问JSON.stringify,所以除了打印它之外,我无法检查这个变量是什么.当我打印它时,它打印为“假”. 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].

标签:birt,javascript
来源: https://codeday.me/bug/20190724/1522584.html