我想了解一下我在Typescript /Angular 中看到的一个特殊图案,它是:
this.subscription = this.router.events
.pipe(
filter((routingEvent: any): routingEvent is NavigationEnd => routingEvent instanceof NavigationEnd),
据我所知,"is"这个关键字的范围缩小到了type.这意味着Angular's RouterEvent类变成了它的子类NavigationEnd
.然后,我们判断routingEvent
是否属于实例NavigationEnd
.我有两个问题:
- 如果我们使用‘map()’,比方说
routingEvent is NavigationEnd
,效率不是更高吗? - 在
filter()
年,我们说的是routingEvent is NavigationEnd
.这会改变我们订阅时的输出吗?如果是这样的话,为什么我们不能只有return true
,因为我们刚刚宣布了routingEvent is NavigationEnd
呢?
如果这些问题有缺陷,请原谅我,因为我是打字新手,但如果有人能帮助我,那就太好了.