首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Typescript:类型'Audience‘不能赋值给类型'boolean’

Typescript:类型'Audience‘不能赋值给类型'boolean’
EN

Stack Overflow用户
提问于 2017-11-18 10:06:16
回答 2查看 653关注 0票数 2

问题是:

代码语言:javascript
复制
.filter(audience => audience)

我使用的是VSCode,我知道为什么它会抛出这个错误,因为它需要一个布尔值,而我返回的是一个对象,但这是有效的Javascript,因为我返回了一个真值,所以引用将被强制为真。我可以更改配置中的某些内容以使其正常工作吗?我已经让它工作了:

代码语言:javascript
复制
.filter(audience => Boolean(audience))

但我宁愿避免这一点。

EN

回答 2

Stack Overflow用户

发布于 2017-11-18 10:07:22

我很惊讶你会看到这个错误。但如果您需要布尔值,this/falsy值通常会转换为布尔值,如下所示:

代码语言:javascript
复制
.filter(audience => !!audience)
票数 2
EN

Stack Overflow用户

发布于 2017-11-18 10:27:02

有几种不同的方法可以进行测试。由于TypeScript可以帮助您编写更好的代码,因此它对接受的内容非常挑剔(这是一件好事)。这里有几种不同的方法来告诉某个对象是一个布尔值。

我们可以将其转换为any (boolean也可以)

代码语言:javascript
复制
.filter(audience => <any>audience)

正如弗兰克提到的,我们可以使用双!

代码语言:javascript
复制
.filter(audience => !!audience)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47361756

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档