首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Typescript和过滤器布尔值

Typescript和过滤器布尔值
EN

Stack Overflow用户
提问于 2017-12-04 19:43:38
回答 0查看 11.3K关注 0票数 24

考虑在打开strictNullChecks的情况下跟随code

代码语言:javascript
运行
复制
var a: (number | null)[] = [0, 1, 2, 3, null, 4, 5, 6];
var b: { value: number; }[] = a.map(x => x != null && { value: x }).filter(Boolean);

编译失败,原因如下:

代码语言:javascript
运行
复制
Type '(false | { value: number; })[]' is not assignable to type '{ value: number; }[]'.
  Type 'false | { value: number; }' is not assignable to type '{ value: number; }'.
    Type 'false' is not assignable to type '{ value: number; }'.

但是可以肯定的是,.filter(Boolean)会过滤掉false

null也有同样的问题。

有没有一种方法(除了编写as number[])来标记值不包含falsenull

EN

回答

页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47632622

复制
相关文章

相似问题

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