我正在使用angular 13和es2021(还尝试了es6添加2018(
tsconfig.lib.json
...
"lib": ["dom", "es2021"]
...
我有以下对象。
export interface UserDetails {
...
features?: Set<UserFeature>;
...
}
我正在尝试检查以下一些值:
this.sessionQuery.details$.subscribe((details: UserDetails) => {
const enableFF = details.features && (details.features as Set<UserFeature>).has({ feature: 'enableFF ', enabled: true });
...
});
IDE上没有问题,但我在浏览器上有以下问题:
core.mjs:6495错误类型错误:details.features.has不是函数
您在订阅中收到的对象(下一个(可能没有将features
作为Set
传递。然后,您告诉typescript将您的features
视为Set
,这样做,您就可以为此类运行时异常打开代码。
如果无法在订阅中接收实际的Set
对象,则必须实例化一个包含数据的集合,或者调整逻辑以使其不依赖于Set
方法。