gpt4 book ai didi

angular - typescript 中的感叹号但不是不可为空的类型断言

转载 作者:太空狗 更新时间:2023-10-29 18:19:09 28 4
gpt4 key购买 nike

在 Angular 5.2 typescript 来源中发现了一些有趣的代码:

  1. 数组索引变量前的感叹号here

    签名 ![i]

  2. 函数调用括号前的感叹号 here

    this._methods.get(message.method) !(message);

在 Typescript playground 中尝试了这种语法 - 没有错误:here

但仍然无法找到/理解它是什么意思。请帮忙。

最佳答案

这是一个老问题,但我试着回答一下。

周围一片空白!并不重要。这 !在你的情况下也是不必要的。但是如果稍微修改一下,就会发现问题:

let signature: Array<any>|undefined = ['test']
let i = 0;
console.log(signature ! [i])
signature=undefined
console.log(signature ! [i]) // <= crash

与!你说:object before is not null。 Typescript 相信你,如果你的假设是错误的,编译的 Javascript 将失败。

关于angular - typescript 中的感叹号但不是不可为空的类型断言,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48619821/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com