|
1
2
这个
谓词用于用户定义的类型保护。 当你有
函数通过断言引入类型安全性
|
|
|
2
1
是的,但前提是函数返回true。
那样做会有完全不同的结果。过滤方法的目的是 去除 事件流中的事件。映射将保留所有内容,包括不是NavigationEnd事件的内容。
对事实上,我们正在识别NavigationEnd事件,然后返回true或false,这将改变运行时的输出。事实上,我们使用了
这是法律法规,但它违背了目的,会导致漏洞。filter函数的目标是只允许NavigationEnd事件通过。如果你只是返回true,你允许 每件事 以滑过过滤器。然后返回类型是一个谎言。你告诉typescript“我检查了这个,它是NavigationEnd.”,但你没有。typescript在编译时会信任你,但在运行时会出错。 |
|
|
3
1
Typescript是为
现在让我们开始讨论您的问题。
答:没有,因为
正如你所看到的,它是所有路由器事件的联合,所以当我们订阅它时,它显然会混淆typescript!
所以我们使用
答:不,typescript只是一个开发层实体,这意味着它有助于开发,不会干扰返回值,它的目的是帮助开发人员捕捉错误并编写干净的代码,注意typescript确实会将代码转换为javascript,当我们将它们转换为javascript时,我们有一些运算符会转换为不同的结构
因此,为了回答您的问题,typescript不会转换任何内容,我们使用filter的原因是过滤掉事件,而且只有当我们这样做时,我们才会返回布尔条件
|