我猜这可能是应用程序特定的,但是我使用的是node.js - 只要它在v8引擎中工作,我不介意。
我正在尝试创建一个评估为false的Object
,例如:
var Foo = function() { return this; }
var bar = new Foo;
if (bar) // returns false;
这是否可以通过覆盖对象的某个功能来实现,例如toString
?
如果有人想知道这可能有什么用例:它是从通常返回布尔值的函数返回错误对象,但也可能遇到错误并返回我的自定义错误对象。
我希望以下任何条件都像是函数返回false值而不必修改条件以适应非布尔值的可能性。
答案 0 :(得分:4)
你最接近的就像是
if (+obj)
虚假对象定义返回.valueOf()
或0
的{{1}}函数:
false