OO Javascript 是否具有“to_bool”或“__len__”等价物?

Does OO Javascript have a `to_bool` or `__len__` equivalent?

OO JS 是否有将实例对象转换为布尔值的机制?我希望能够直接在条件中使用自定义实例对象,并按照 !!(new Foo(0)) === false!!(new Foo(1)) === true.

行进行断言

JS 如何对字符串文字 "" 和零 0 执行此操作?

不,JS 不提供转换为布尔值的陷阱方法。根据语言规则,值的真实性 statically determined 无法更改。

您应该为您的实例提供一个显式调用的方法,例如 isValid()isTruthy()isEmpty() 或您的对象代表的任何概念。