【发布时间】:2020-02-23 19:00:29
【问题描述】:
我希望创建一个受ngxs/form-plugin 启发的角度指令
搜索他们的代码我发现了一些有趣的东西:
@Input('ngxsForm')
path: string = null!;
为什么null末尾有否定字符?
【问题讨论】:
-
那不是 JavaScript
-
@MarcSances 即使应用于文字值,就像这里一样?
-
一个额外的皱纹:
null!在 TypeScript 中是一个“非空null”,这是不可能的。null!的类型是never,bottom type,并且可以分配给所有其他类型。因此,TypeScript 将允许您将null!用于任何类型的值,例如上面的string。当然,这是对编译器的欺骗;null在运行时不是string。如果你想对编译器撒谎,例如,假装初始化一个类属性而你没有,null!是一种简洁的方法。
标签: angular typescript ngxs