检查子属性时在交叉点类型上出现错误
问题描述:
今天,我在使用基本流定义和扩展基本定义的两种类型时遇到了问题。
有一个数组,其中每个元素可以匹配First
或Second
类型定义。当循环这个数组时,我只想处理匹配First
类型定义的元素,所以我认为应该通过检查仅存在于First
的定义中的属性来完成,并且如果此属性不存在,则应该跳过此元素。
但是,我不明白对属性的检查是否也告诉流,现在可以访问此属性。
毕竟,它的工作原理,当我手动键入投的元素来抑制路口从流动警告,但在我的头上,这不应该是必要的?
感谢提前:)
答
我现在已经找到了解决方案,它实际上是非常简单的:确切的对象类型。
我所发现的是,该流量并不仅仅因为它的属性first
被排除可能的类型Second
。您需要将对象类型定义为exact object types
,以便检查一旦其中存在first
属性时它不能为Second
。