问题:
.filter(audience => audience)
我正在使用VSCode而且我知道为什么它会抛出这个错误,因为它期待一个布尔值并且我正在返回一个对象,但这是有效的Javascript,因为我&#39 ; m返回truthy值,因此引用将被强制为true。我可以更改配置中的某些内容以使其正常工作吗?我已经完成了它的工作:
.filter(audience => Boolean(audience))
但我宁愿避免这种情况。
答案 0 :(得分:2)
我很惊讶你看到了这个错误。但是如果你需要一个布尔值,truthy / falsy值通常转换为这样的布尔值:
.filter(audience => !!audience)
答案 1 :(得分:0)
您可以通过几种不同的方式进行测试。由于TypeScript可以帮助您编写更好的代码,因此它接受的内容很挑剔(这是一件好事)。这里有一些不同的方法可以告诉某个对象是布尔值。
我们可以将其转换为any
(boolean
也可能有用)
.filter(audience => <any>audience)
正如Frank提到的,我们可以使用双!
.filter(audience => !!audience)